Isolate LHLFactorization dependency binding for JET - #1262
Draft
ChrisRackauckas-Claude wants to merge 3 commits into
Draft
Isolate LHLFactorization dependency binding for JET#1262ChrisRackauckas-Claude wants to merge 3 commits into
ChrisRackauckas-Claude wants to merge 3 commits into
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://chatgpt.com/codex/tasks/01a03a17-ad6f-7131-82fc-d0fd57ea6512
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://chatgpt.com/codex/tasks/01a03a17-ad6f-7131-82fc-d0fd57ea6512
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://chatgpt.com/codex/tasks/01a03a17-ad6f-7131-82fc-d0fd57ea6512
This was referenced Aug 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed and why
Import the dependency's LHL implementation names inside a private binding module, then copy only those bindings into the LinearSolve module. JET's package analysis treats importing the dependency module name
LHLFactorizationinto LinearSolve as an invalid redefinition because LinearSolve already defines the public algorithm type with that name; isolating the dependency module name removes the collision without exporting new names or suppressing a report.This draft is stacked on #1261, which is itself stacked on #1260. It should be reviewed after both prerequisites. Please ignore it until it has been reviewed by @ChrisRackauckas.
Failing before
On clean
mainat5dcf04d29038b5e4e4938157e9834fd8ddcf5f7a,JET.report_package(LinearSolve)reports seven errors beginning with:The full Julia 1.11.9 QA result was:
An adjacent-history check reports zero package-analysis errors at parent commit
a449aab53f03a0aba833a502df409bf86b08de8fand seven after47cdfb2eb81757346bb06cd8a3053a9736d15291, which added the dependency import and the algorithm type with the same name.Passing after
The focused Julia 1.11.9 check reports:
The final stack was then validated with:
Results:
The full Core command exited 0 after 36m10s. Runic, typos, and
git diff --checkexited 0 with no output. Documentation was not built because the helper module and copied bindings are internal and this changes no public API or documentation.Review notes
An import alias did not eliminate the JET collision. The private binding module is intentionally narrow: it prevents the dependency module name from entering LinearSolve while leaving the existing internal call sites unchanged. The PR contains both prerequisite commits because it is stacked; the new change for this PR is the
src/LinearSolve.jlbinding isolation.🤖 Generated with Claude Code
https://chatgpt.com/codex/tasks/01a03a17-ad6f-7131-82fc-d0fd57ea6512