Consider the following code: a.d: class A { class Subclass { } protected void foo() { } } b.d: class B : A { class Subclass : A.Subclass { void method() { foo; } } } Despite the fact that B.Subclass exists in a subclass of A twice over, this errors with: b.d(6): Error: class `a.A` member foo is not accessible It works if I write 'this.outer.foo'. It also works if I *don't* inherit B.Subclass from A.Subclass.
Nevermind, is already fixed. My bad.