// { dg-do compile { target c++2a } } template concept C = requires (T t) { t + 0; }; // { dg-message "satisfaction of .C. .with T = typename T::type." "" { target *-*-* } .-1 } template concept D = C; // { dg-message "satisfaction of .D. .with T = int." "" { target *-*-* } .-1 } template concept E = D; static_assert(E); // { dg-error "static assertion failed|not a class" }