Closed som-snytt closed 1 year ago
Did you notice anything interesting?
Not really. All the narrower types are probably benign, although Iterable[Nothing]
is less useful.
There was a scalac bug when inferring the result of override final val
. I fixed that quickly and they accepted the PR quickly!
Explicit types are too noisy unless you're supporting different Scala versions. (Dotty needs them in the standard library, where the explicit type is the "old" type inferred by Scala 2.) -Xsource:3 -Wconf:cat=scala3migration:s
would silence the noise.
I am using -Xsource:3
though (via sbt-typelevel
), I get no warnings?
The behavior is tweaked for 2.13.12 which is due a in a couple of months. It will warn/error if inferred override type is different with/without the flag. Thanks for using it! I guess Seth Tisue notices it in the community build, where I guess he doesn't add flags but just upgrades the compiler version.
I was looking at how inferred types change under
-Xsource:3
and picked this sample project.This PR is just documentation of the types, and it probably doesn't matter because everything is qualified private.
Indeed, I've never seen so much qualified private before.
Under
-Xsource:3
, you'd probably just silence the migration warning.