Early initializers deprecated

I’m seeing a warning on old code:

early initializers are deprecated; they will be replaced by trait parameters in 3.0,
see the migration guide on avoiding var/val in traits.

Where is this migration guide?

You can find the guide for early initializers here: https://scalacenter.github.io/scala-3-migration-guide/docs/incompatibilities/dropped-features.html

Do you think it would be useful to link the migration guide from the warning? It comes across as rather spammy to me, and googling “scala 3 migration guide” does easily turn it up, but if it proves to be a stumbling block, maybe it needs better ergonomics.

Thanks. I found a page that discussed the dropped features, but not this migration guide. My Googling skills must be weak…

I’ve used tools that embed a URL to a page with more details in their messages, and I like it (as long as the URLs are stable).

(And I still can’t believe the venerable do loop is going away. This upsets me more than anything else… :wink: )

I started a thread at https://contributors.scala-lang.org/t/linking-the-scala-3-migration-guide-from-scala-2-warnings/4566 to discuss whether and how to link the migration guide from warnings.

The Scala 3 migration guide is still under construction.

You can find the project roadmap in this contributor forum post. Don’t hesitate to give us your feedback and ideas!

Also you can participate and follow the progression in its github repository.