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
protected[this] is dropped without a replacement.