Clang rejects-valid:
template<class T> concept Q = requires(T t) { [](int*){}(t); }; //static_assert(not Q<int>); struct A { template<class T> explicit(Q<T>) A(T); }; A a = 1; If the static_assert is uncommented, clang accepts.
If the constraint is inlined, clang accepts-invalid:
struct A { template<class T> explicit(requires(T t) { [](int*){}(t); }) A(T); }; A a = new int;