interface A {
interface B : A {
class C : B {
void inside(C c) {}
}
// Works
void innermost(A.B.C c);
}
// Fails: no property 'C' for type 'foo.A.B'
void inside(A.B.C c) { }
}
// Works
void outside(A.B.C c) { }
Adding another layer of interfaces keeps the same kind of pattern:
interface A {
interface B : A {
interface C : B {
class D : C {
void fun(D d) {}
}
}
// Fails
void fun(A.B.C.D d);
}
}
Comment #1 by robert.schadek — 2024-12-13T19:06:00Z