https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92268
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- The workaround is to require that the common_reference_t types exist: template<typename T, typename U> concept common_reference_with = // <INS> requires { typename common_reference_t<T, U>; typename common_reference_t<U, T>; } && // </INS> foo<common_reference_t<T, U>, common_reference_t<U, T>> && bar<common_reference_t<T, U>, common_reference_t<U, T>> && baz<common_reference_t<T, U>, common_reference_t<U, T>>;