https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83000
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> --- $ g++ --version g++ (GCC) 12.0.0 20211208 (experimental) $ g++ pr83000.C -c -fconcepts pr83000.C: In function ‘int main()’: pr83000.C:6:18: error: template constraint failure for ‘template<class T> requires sizeof (T) > 1 union Test’ 6 | Test<char> x; | ^ pr83000.C:6:18: note: constraints not satisfied pr83000.C: In substitution of ‘template<class T> requires sizeof (T) > 1 union Test [with T = char]’: pr83000.C:6:18: required from here pr83000.C:3:11: required by the constraints of ‘template<class T> requires sizeof (T) > 1 union Test’ pr83000.C:2:25: note: the expression ‘sizeof (T) > 1 [with T = char]’ evaluated to ‘false’ 2 | requires (sizeof(T) > 1) | ~~~~~~~~~~~^~~~ $ g++ pr83000.C -c -std=c++2a pr83000.C: In function ‘int main()’: pr83000.C:6:18: error: template constraint failure for ‘template<class T> requires sizeof (T) > 1 union Test’ 6 | Test<char> x; | ^ pr83000.C:6:18: note: constraints not satisfied pr83000.C: In substitution of ‘template<class T> requires sizeof (T) > 1 union Test [with T = char]’: pr83000.C:6:18: required from here pr83000.C:3:11: required by the constraints of ‘template<class T> requires sizeof (T) > 1 union Test’ pr83000.C:2:25: note: the expression ‘sizeof (T) > 1 [with T = char]’ evaluated to ‘false’ 2 | requires (sizeof(T) > 1) | ~~~~~~~~~~~^~~~