struct A { int blah; } class B { A* a; this(A* _a) { writeln(_a) a =_a; } } class C : B { this(A* _a) { writeln(_a) super(_a); } } int main(string[] args) { A a; writeln(&a); C c = new C(&a); } prints 7FFF56E787F8 7FFF56E787F8 null ??? What is happening here?