You are ready to port your project to Scala 3!
The first step is to check that the Prerequisites are met by your project.
If you use sbt we recommend you to go to Porting an sbt Project (using sbt-scala3-migrate), or you can go to Porting an sbt Project (by hand).
You are not using sbt?
We still advise you to read the Porting a sbt Project (by hand) tutorial since the workflow is the same in other build tools. Prior to that, make sure the version of your build tool is up-to-date to support Scala 3.
Cross-Building a Macro Library and Mixing Scala 2.13 and Scala 3 Macros are specialized tutorials for porting Scala 2 macro libraries.
Contributors to this page:
Contents
- Compatibility Reference
- Source Level
- Classpath Level
- Runtime
- Metaprogramming
- Tour of the Migration Tools
- Scala 2 with -Xsource:3
- Scala 3 Migration Mode
- Migration Tutorial
- Prerequisites
- Porting an sbt Project (using sbt-scala3-migrate)
- Porting an sbt Project (by hand)
- Cross-Building a Macro Library
- Mixing Scala 2.13 and Scala 3 Macros
- Scala 3 Syntax Rewriting
- Incompatibility Table
- Syntactic Changes
- Dropped Features
- Contextual Abstractions
- Other Changed Features
- Type Checker
- Type Inference
- Compiler Options
- Compiler Options Lookup Table
- New Compiler Options
- Scaladoc settings compatibility between Scala2 and Scala3
- Compiler Plugins
- Kind Projector Migration
- External Resources