Hi! It seems like structs in private section (module or class) remains public: class A { private: struct B {int b;} } void foo() {A.B b; b.b=10;} this code compiles ok. WTF?