Skip to content

Two bugfixes#1402

Open
jonludlam wants to merge 4 commits intoocaml:masterfrom
jonludlam:point-release-fixes
Open

Two bugfixes#1402
jonludlam wants to merge 4 commits intoocaml:masterfrom
jonludlam:point-release-fixes

Conversation

@jonludlam
Copy link
Member

Two simple bugfixes. Important for the upcoming dune rules.

jonludlam and others added 4 commits February 24, 2026 12:57
When compiling with -no-alias-deps, module aliases produce imports
without digests. This test demonstrates that odoc currently resolves
these imports by looking them up in the include path, which can find
stale artifacts from a previous build and associate the wrong digest.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
When compiling with -no-alias-deps, module aliases produce imports without
digests. Previously, resolve_imports would eagerly look up these modules in
the include path, potentially finding stale .odoc artifacts from a previous
build. This would associate the wrong digest with the import, breaking
incremental rebuilds.

Skip resolution for Unresolved (_, None) imports, leaving them unresolved
in the output .odoc file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The unresolved reference warning during link is always non-fatal,
so --warn-error has no effect on it. This test demonstrates the bug:
the warning is not promoted to an error and the exit code is 0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Previously, resolution failures in Errors.report used
Lookup_failures.report_internal which hardcoded non_fatal:true, meaning
they would never cause a build failure even when --warn-error was passed.

Switch to Lookup_failures.report_warning so that all resolution failures
(modules, types, references, etc.) respect --warn-error. Root errors
(missing dependencies) retain their own separate handling via report_root.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant