https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122550
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced to:
```
class Hasher;
template <class a>
concept C = true;
template<C UnsignedInteger>
void add(Hasher&, UnsignedInteger);
class Hasher {
template<C UnsignedInteger>
friend void add(Hasher& hasher, UnsignedInteger integer) { }
};
void f(Hasher& hasher, unsigned long integer)
{
add(hasher, unsigned(integer));
}
```
