https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107428

            Bug ID: 107428
           Summary: trying to define a partial specialized concept does
                    not give a good error message
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: diagnostic
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: pinskia at gcc dot gnu.org
  Target Milestone: ---

Take:
```
template<typename T, typename T1>
concept same = false;
template<typename T>
concept same<T, T> = true;
```

GCC produces:
```
<source>:6:13: error: expected '=' before '<' token
    6 | concept same<T, T> = true;
      |             ^
```

While clang produces:
```
<source>:6:9: error: name defined in concept definition must be an identifier
concept same<T, T> = true;
        ^
```

While clang is definitely better than GCC. We could do even better at
sugguesting you can't do a partial specialization of a concept.

Reply via email to