// RUN: %clang_cc1 -fsyntax-only -verify %s // expected-no-diagnostics // C++0x [class.nest] p3: // If class X is defined in a namespace scope, a nested class Y may be // declared in class X and later defined in the definition of class X or be // later defined in a namespace scope enclosing the definition of class X. namespace example { class E { class I1; class I2; class I1 { }; }; class E::I2 { }; } // Don't insert out-of-line inner class definitions into the namespace scope. namespace PR6107 { struct S1 { }; struct S2 { struct S1; }; struct S2::S1 { }; S1 s1; }