ahatanak added a comment. This is not invalid: namespace Foo { class C { }; } namespace Bar { class C { }; } void foo1() { using Foo::C; { using Bar::C; } } Repository: rL LLVM https://reviews.llvm.org/D28514