scala3
scala3 copied to clipboard
The Scala 3 compiler, also known as Dotty.
Disclaimer: This PR might be controversial and we will probably have to debate it and set precedence on how to handle such changes. In this PR, we break source compatibility...
Backports #24131 to 3.8.0-release
Follow-up on #24630. Attempts to avoid ready and unzipping TASTy files over and over again.
## Compiler version 3.4.1-RC1 ## Minimized example Given in #19538. ## Output scala3-boostrapped/test passes. ## Expectation The tests should fail since there are two errors in neg tests that fail....
Currently, `Annotations.refersToParamOf` assumes that all `TermParamRef` types will only appear as the (root) type of `Ident` or `This` trees: https://github.com/scala/scala3/blob/912b6f278b0fe5e7a25160612922cadf184acdbb/compiler/src/dotty/tools/dotc/core/Annotations.scala#L75-L82 This assumption can be invalidated, for example when trees are...
Notably it adds support for recognizing [git worktrees](https://www.tomups.com/posts/git-worktrees/). Trying to compile the compiler would fail under a worktree on the old version, due to jgit not recognizing it as a...
Fixes #24562 by improving the fidelity of the rewrite of constructor proxy call to `new`, just for references to exported members.
## Code The following compiles without warnings. ```Scala class Foo: def sum(xs: List[Int]): Int = loop(0, xs) def loop(sum: Int, xs: List[Int]): Int = xs match case head :: tail...