All experimental language features can be found under the
scala.language.experimental package. They are enabled by importing the feature or using the
-language compiler flag.
erasedDefinitions: Enable support for
fewerBraces: Enable support for using indentation for arguments.
genericNumberLiterals: Enable support for generic number literals.
namedTypeArguments: Enable support for named type arguments
saferExceptions: Enable support for checked exceptions.
In general, experimental language features can be imported in an experimental scope (see experimental definitions). They can be imported at the top-level if all top-level definitions are
This flag enables the use of any experimental language feature in the project. It does this by adding an
@experimental annotation to all top-level definitions. Hence, dependent projects also have to be experimental.
Some experimental language features that are still in research and development can be enabled with special compiler options. These include