// { dg-do compile { target c++20 } }
template <class> struct all_same {
  static constexpr bool value = true;
};
template <class T> 
concept Assignable = requires(T t)
{
  requires all_same<decltype(t = 0)>::value;
};
template <class I> 
  requires (!Assignable<I>)
int dispatch();
template <class I>
  requires Assignable<I>
void dispatch();
int main() { dispatch<int *>(); }