Является ли правильно сформированная единица перевода С++ 11?
typedef int T;
::T i;
Если это так, оно не соответствует стандартной грамматике.
simple-type-specifier
должен соответствовать ::T
, но грамматика:
simple-type-specifier:
nested-name-specifier_opt type-name
и a nested-name-specifier
не могут совпадать с ::
, поэтому simple-type-specifier
не может соответствовать ::T
.
Является ли это стандартным дефектом?