-
-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support for Scala 3.4.0 #1394
Support for Scala 3.4.0 #1394
Conversation
f9e5c46
to
9133cc0
Compare
9133cc0
to
bb0e94f
Compare
This seems |
After some investigation, the failed tests for 3.4.0 seem to be caused by this: |
I don't know the codebase enough to attempt this, but I suppose we'd need to refactor Ammonite to get rid of identifiers containing the |
I think the basic issue here is we allow I think it should be possible to desugar |
Corresponding Ammonite issue: |
Yeah, I think splitting this up into a Scala 3.3.x update and an separate 3.4.x is the best way to make progress. |
https://github.com/lampepfl/dotty/releases/tag/3.3.2 https://github.com/lampepfl/dotty/releases/tag/3.3.3 partially extracted from #1394 Pull request: #1434
It's a little hard to tell what is still needed to get this working. All of my code depends on 3.4 features, and Jupyter needs Almond, and Almond depends on Ammonite, so...basically I can't use Jupyter notebooks until this gets fixed. I also depend on Java 21 (for Loom threads), and I notice that this PR stops testing even Java 17. Is this because the matrix is too big? Anyway, I have time to help resolve the issue myself, but I can't tell right now what still needs doing. I can't see failing logs with the test, and I don't really want to dive in without knowing what I'm getting myself into. |
It seems the latest scala 3 added bakc support for |
That might be the thing to do for now, but we can't rely on anything with a trailing But I think you're right that it's in. 3.4.2, I think, so maybe the thing to do is just go with that and skip 3.4.0 and 3.4.1. (But at least the |
Added 3.4.2 to targets in a fairly straightforward, formulaic fashion. 3.4.0 and 3.4.1, for good reason, fail to parse `$` as a class file, but a [temporary ad-hoc workaround was added in 3.4.2](scala/scala3#19705), so this needn't block 3.4 support for now. Reliance on `object $` still needs to be [fixed in Ammonite](#1395). Several internals changes required fixes also; I used the most obvious solution (e.g. if Y extends X and Y is now private, use X instead), but someone who knows more might want to read it over. Tests pass on my machine for 3.3 and 3.4.2 (under Java 21). If accepted, this patch would supersede #1394
No description provided.