https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65406
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed|2021-08-13 00:00:00 |2024-4-13 Keywords| |c++-lambda --- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Outside of a template argument we do get the : ``` <source>:21:3: error: need 'typename' before 'here::Foo<T>::Bar::type' because 'here::Foo<T>::Bar' is a dependent scope 21 | Bar::type t; | ^~~ ``` But a method definition of a local class gives a bad diagnostic too: ``` <source>: In member function 'void here::Foo<T>::bad_error()': <source>:22:7: error: invalid use of qualified-name 'not_here::Buzz<T>::type' 22 | f(Bar::type){}; | ^~~ ``` That is for: ``` struct f{ f(Bar::type){}; }; ``` inside here::Foo<T>::bad_error .