Consider: namespace B { struct C {}; } namespace A { namespace C { } using namespace B; } struct A::C c;
GCC complains: error: 'C' in namespace 'A' does not name a type Not knowing much about the subtleties of name lookup myself, I'm relying on the following two sources for the code's well-formed-ness: * Comeau 4.3.10.1 /does/ accept the code. * The opinion of a particularly well-read regular (litb) on Freenode's C++ IRC channel. -- Summary: using-directive in namespace doesn't work properly Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: gcc-bugzilla at contacts dot eelis dot net http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42490