The following testcase submitted in PR 5573 is similar to this PR. struct A { class AN { }; }; struct B { typedef int AN; }; struct C : A { struct CN : public B { }; class AN { }; };