https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84897
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2018-03-16 Ever confirmed|0 |1 --- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- Yes, we want to special case the inline namespaces std::__cxx11 and std::_V2 so that they only show their contents as std::xxx not std::_V2::xxx. Or maybe automatically elide any inline namespace under std, so that we show std::experimental::source_location not std::experimental::fundamentals_v2::source_location. The point of an inline namespace is that you don't need to use it to refer to the type, the type can be named as though it was declared in the enclosing namespace. Clang's libc++ std::string is really std::__v1::string but it hides the inline namespace __v1 from you.