Work in Progress

We are still in the process of writing the documentation for Scala 3. You can help us to improve the documentation.

Are you searching for the Scala 2 documentation?

Scala 3 Language Reference

Dropped: private[this] and protected[this]

Language

The private[this] and protected[this] access modifiers are deprecated and will be phased out.

Previously, these modifiers were needed for

  • avoiding the generation of getters and setters
  • excluding code under a private[this] from variance checks. (Scala 2 also excludes protected[this] but this was found to be unsound and was therefore removed).

The compiler now infers for private members the fact that they are only accessed via this. Such members are treated as if they had been declared private[this]. protected[this] is dropped without a replacement.

Contributors to this page: