scala3
scala3 copied to clipboard
The Scala 3 compiler, also known as Dotty.
previously in source it called `arr.toSeq.forEach`, relying on a potential flaky implicit conversion to `scala.collection.immutable.ArraySeq` and then a no-op `.toSeq` on top of that. make the conversion explicit, so that...
- use methods that are already defined in the stdlib (11e426653a775de7cfca1d3f6886ac99f315964a, c6fe60570085f7a23b1a9dff6f90d85c9340cf31) - remove empty files (3bddc16c9fb0d25632a694fe1c16e0ad3b17f5f8)
## Compiler version 3.3.7, 3.8.1-RC1-bin-20251129-7eab684-NIGHTLY ## Minimized code ```scala //> using scala 3.3.7 //> using options -Wunused:all import scala.annotation.unused val transforms: Seq[(String, Int)] = Nil transforms.foreach((str, @unused int) => println(str))...
use `extension` and `using` instead of `implicit`
## Compiler version 3.8.0-RC1 ## Minimized example ```Scala import scala.compiletime.ops.int.+ type Foo[S] = S ``` ## Warning message ```scala Type parameter S for type Foo shadows the type defined by...
> Enhance the Java Platform with value objects: class instances that have only final fields and lack object identity. refs: https://openjdk.org/jeps/401 https://kotlinlang.org/docs/inline-classes.html https://github.com/Kotlin/KEEP/blob/master/notes/value-classes.md https://github.com/scala-native/improvement-proposals/pull/1
Remove `classDirectory` from `scala3-library-*` projects and some cleanups of the settings. Closes #24703
This uses `TypeComparer.constValue` to extract the constant in TypeEval. This is also how constValue is implemented. So I think also using it in TypeEval make behavior around this more consistent...
When trying to infer a method on a type that cannot be modified, instead of returning empty edits, create an extension method in the current scope. Fixes https://github.com/scalameta/metals/issues/7998