Details
Description
Till now, if we have a private field foo in a Trait T, the class implementing the trait can unofficially access the field by this.T__a. This leaks the naming convention we use, and thus prevents us from changing it some time in the future.
I suggest to use T.this.a to access a private field a in the trait T from the trait implementing class. This provide then an official way and allows for neat things as immutable traits for example (even if the state is fixed, we still may want one there and the handling of it).