https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88358
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |WAITING --- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I just fixed something similar: 88757. Regarding template <typename T> void f(T::type); P0634R3 says this is ill-former, but no diagnostics required. Regarding template <typename T> int pi(T::your_pi); // variable template, but gcc trunk thinks this is a function template please see <https://gcc.gnu.org/ml/gcc-patches/2019-01/msg01378.html>, which fixed this for the case when the function name is a qualified-id. I'm not sure if there's anything to fix when it's an unqualified-id. "pi" is I think a simple-declaration and the core discussion didn't address this case.