Skip to content

Add Jet#26

Merged
jw3126 merged 3 commits into
jw3126:masterfrom
PatrickHaecker:JET
May 18, 2026
Merged

Add Jet#26
jw3126 merged 3 commits into
jw3126:masterfrom
PatrickHaecker:JET

Conversation

@PatrickHaecker

@PatrickHaecker PatrickHaecker commented May 17, 2026

Copy link
Copy Markdown

The actual changed needed to let JET pass, were a lot easier than I thought. It was only the fix I already had in the showrepr branch. But this is also due to the fact that JET does not cover too much via report_package, as most of the code is kind of "passive" as long as the macros are not executed, which we currently don't do.

However, actually adding JET to the test suite currently is a mess. For once because of Julia 1.6 support, which is not JET-friendly. But it's mostly about JET not supporting Julia 1.13 and special-casing (currently) 1.14.
So some back and forth with Claude indicated that the best solution actually might be to just hide JET completely from Julia 1.6 and nightly when run in CI by letting sed remove all traces of it before starting the actual testing. Not pretty, but seems to be better than the alternatives. Let's see whether this actually works.

This contains the changes in #25. So if you want to go step-by-step, it's #25 and then rebasing #26 on top of #25. If you want to do all at once, you can directly use #26 and close #25. I'd recommend to do it step-by-step, but it's your call.

@PatrickHaecker

Copy link
Copy Markdown
Author

Ok, CI looks good. I checked that Julia 1 actually runs JET tests (precompiling JET is what makes it much slower). So this looks good.

On a side node: Maybe it would make sense to add dependabot which I think might add more caching.

Patrick Häcker and others added 3 commits May 18, 2026 05:41
JET's registry compat currently requires 1.7 <= Julia <= 1.12, so
Pkg cannot resolve JET on Julia 1.6 and nightly. To get a green CI,
strip JET from Project.toml and runtests.jl on the Julia versions
not supported by JET. This means only the 'latest stable' job
actually has JET coverage on CI.
JET 0.11's flow analysis can't prove that the two reads of
`fieldnames` (under `if nt.getproperties` and `if nt.kwconstructor`)
are reachable only when `need_fieldnames` (the assignment guard) is
true. Assign `fieldnames` unconditionally with a cheap fallback so
the binding is always defined.

Co-authored-by: Copilot <copilot@github.com>
@jw3126
jw3126 merged commit cbbb25b into jw3126:master May 18, 2026
4 checks passed
@PatrickHaecker
PatrickHaecker deleted the JET branch May 19, 2026 06:38
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