протекает в глобальное пространство имён: https://godbolt.org/z/b14KcK4Ps.
Это нормально?
Но оно же никуда не утекло, аналогично объявлению типа в анонимной неймспейсе - то есть виден только в этой TU
Прям в анонимное ? А смысл ?
Тем более оно не используется
эффект очевидно есть: я могу в глобальном объявить переменную типа NS1::T не указывая пространство имён
Эффект анонимного неймспейса? Пока что-то не могу вас понять и в чём проблема
Да нет там проблемы
так это же by-design как работает using namespace, это на cppref описано. Using-directives are allowed only in namespace scope and in block scope. From the point of view of unqualified name lookup of any name after a using-directive and until the end of the scope in which it appears, every name from namespace-name is visible as if it were declared in the nearest enclosing namespace which contains both the using-directive and namespace-name.
Обсуждают сегодня