https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92947
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> --- Sorry, looking into this again. A problem I see with my fix is that with it this assert fails: struct A { }; struct B { }; static_assert (!__is_trivially_constructible(A, B), ""); i.e. we say __is_trivially_constructible(A, B) is true. That still incorrect even in C++20, right?