Skip to content

Conversation

@mlechu
Copy link
Collaborator

@mlechu mlechu commented Aug 26, 2025

JuliaLowering can run everything in compatibility mode at this point, so we may not even need jetls-hacking anymore. As of writing, this is a version bump to JuliaLang/JuliaLowering.jl#35, which is the master branch plus some syntax graph utilities. I've still created a separate jetls-2 branch for stability and in case you'd like to apply any changes (@aviatesk)

@mlechu mlechu requested a review from aviatesk August 26, 2025 00:02
@mlechu
Copy link
Collaborator Author

mlechu commented Aug 26, 2025

The one thing this new branch is missing compared to jetls-hacking is the toplevel-expr-from-macro fix (mlechu/JuliaLowering.jl@80ba20a). This will be fixed on master eventually, but if it causes too much trouble in the meantime (it would probably present as @doc weirdness), we can apply this change too.

@codecov
Copy link

codecov bot commented Aug 26, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 68.56%. Comparing base (ed12df1) to head (b10161d).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #235      +/-   ##
==========================================
- Coverage   68.57%   68.56%   -0.01%     
==========================================
  Files          37       37              
  Lines        3236     3235       -1     
==========================================
- Hits         2219     2218       -1     
  Misses       1017     1017              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link
Owner

@aviatesk aviatesk left a comment

Choose a reason for hiding this comment

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

Thanks for the update. I basically want to keep up with JL's #main, so I totally agree with using a branch based on the latest #main.

the toplevel-expr-from-macro fix (mlechu/JuliaLowering.jl@80ba20a)

I don't quite understand what cases this fix is for. Is it needed for the expansion of macro-defining-macrocalls, like what's being discussed in JuliaLang/julia#53515, or is it for a broader set of cases?

@mlechu
Copy link
Collaborator Author

mlechu commented Aug 26, 2025

The original change JuliaLang/julia#53515 is needed for correctness in macro-defining-macrocalls, yes. I think there might be other reasons we need to save the current expansion module in the (hygienic-scope ,expression ,module) form for later expansion, but I can't think of an easy example, so I'm not sure.

The reason this is relevant outside of edge cases is because :toplevel-returning macros have now adapted to this change, so may contain extra :escapes that cause errors if we don't add the expected hygienic-scopes. Easy to do what we've been doing for Expr, needs some thinking for SyntaxTree.

@aviatesk
Copy link
Owner

Got it. So the most straightforward and perceivable example is probably that an expression like @enum A a=1 can't be lowered. It seems the current #jetls-hacking can't do that either (though it might be a different error).

I'd always prefer to use #main, but it's totally possible that breaking changes could be made to JL's #main in the near future. For now, it might be better to keep using a custom branch, just like we've been doing. Would a new branch be better than just updating #jetls-hacking? Either way works for me.

Also please update test/Project.toml too. That's where the JL used by Pkg.test() is specified.

@mlechu
Copy link
Collaborator Author

mlechu commented Aug 26, 2025

Would a new branch be better than just updating #jetls-hacking? Either way works for me.

I needed a new branch to atomically update the lowering arguments here. Feel free to force-overwrite jetls-hacking and switch to back that if you ever need to make a similar breaking change.

@aviatesk aviatesk merged commit 04c37df into master Aug 27, 2025
8 checks passed
@aviatesk aviatesk deleted the ec/jl-bump branch August 27, 2025 09:03
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.

3 participants