Skip to content

Support Julia 1.13 - #88

Merged
MilesCranmer merged 1 commit into
MilesCranmer:mainfrom
MilesCranmerBot:pr/113-support
Aug 23, 2026
Merged

MilesCranmer merged 1 commit into
MilesCranmer:mainfrom
MilesCranmerBot:pr/113-support

Conversation

@MilesCranmerBot

@MilesCranmerBot MilesCranmerBot commented Aug 23, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Enables compiler-IR borrow checking on Julia 1.13.
  • Uses Core.Compiler.InferenceCache when that API is available.
  • Passes a source location to generated_body_to_codeinfo when required by the compiler API.
  • Treats String and SubString as value-semantic.
  • Removes the obsolete BORROWCHECKER_ONLY_AUTO test switch.
  • Keeps Julia 1.14 and later on the warn-and-pass-through stubs.

Verification

  • Julia 1.12.7: 227 passed, 2 expected broken.
  • Julia 1.13.0-rc3: 234 passed, 2 expected broken.
  • Julia 1.14 nightly: 3 stub-contract tests passed.

All three runs used Pkg.test() with the original test/Project.toml structure.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 7fd6def67a

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread src/BorrowChecker.jl Outdated
Comment on lines +12 to +13
@static if isdefined(Base, :code_ircode_by_type) && v"1.12.0-" <= VERSION
@unstable include("safe/auto_ir.jl")

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Update the advertised Julia support range

When the package runs on Julia 1.13, this condition now loads the real checker, but README.md:59 still says the feature requires Julia 1.12.x and falls back to pass-through stubs on 1.13+. This directly contradicts the change and may lead 1.13 users to assume borrow checking is disabled; update the version guidance alongside the gate.

Useful? React with 👍 / 👎.

MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
The lock-effect registry entries, the higher-order lock(f, l) model,
and all four lock testsets are merged into MilesCranmer#88 (ported to the
dissolved src/safe layout and verified green on 1.12 and 1.13-rc3).
The src/auto module layout this branch was built on was dissolved by
MilesCranmer#87, so the remaining rename is superseded upstream.
MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
The String/SubString ownership exemption and both testsets are merged
into MilesCranmer#88 (ported to the dissolved src/safe layout, green on 1.12 and
1.13-rc3).
MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
MilesCranmer#88 removes the 1.13 ceiling instead of gating it off, so this
branch's gate-tightening and README caveat no longer apply. Its
README version line is updated in MilesCranmer#88.
MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
MilesCranmerBot added a commit to MilesCranmerBot/BorrowChecker.jl that referenced this pull request Aug 23, 2026
Use Compiler.InferenceCache when the compiler exposes it and pass a source location to generated_body_to_codeinfo when required. Keep compiler-IR checking on Julia 1.12 and 1.13, with tested stubs on later versions. Treat String and SubString as value-semantic and remove the obsolete BORROWCHECKER_ONLY_AUTO test switch.

Co-authored-by: Miles Cranmer <miles.cranmer@gmail.com>
@MilesCranmer
MilesCranmer merged commit 1edc999 into MilesCranmer:main Aug 23, 2026
6 checks passed
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.

2 participants