https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66888
--- Comment #2 from Anders Granlund <anders.granlund.0 at gmail dot com> --- This bug seems to be more general than struct definitions. It also exists for variable declarations like this: namespace X { extern int i; } namespace N { using X::i; } int N::i = 1; int main() {} The above program is ill-formed by [dcl.meaning]p1, but no error message is given.