Add Jet#26
Merged
Merged
Conversation
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. |
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>
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.
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
showreprbranch. But this is also due to the fact that JET does not cover too much viareport_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
sedremove 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.