https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98768
--- Comment #3 from Antony Polukhin <antoshkka at gmail dot com> ---
Another attempt to make the feature request clear
GCC-16 for the following snippet
```
template <typename Function, typename T>
concept Callable0Arg = requires(Function func) {
{ func() } -> T; // mistake
};
```
provides a diagnostic:
```
<source>:3:19: error: return-type-requirement is not a type-constraint
3 | { func() } -> T;
| ^
```
The diagnostic is correct, but it is not user friendly because users have to
search for 'type-constraint' term, and realize that after the `->` should be a
concept name.
Clang provides a more beginner friendly diagnostics directly saying that:
```
<source>:5:19: error: expected concept name with optional arguments
5 | { func() } -> T;
| ^
```
Please improve the GCC diagnostic for the above case to something like "error:
expected concept name after `->`." Fixit hints like `-> std::same_as<T>` could
be helpful too