https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58074
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #12 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I have a patch for the first assert (via bug 85723), and I think the second assert should also be reversed; that is, I think we want to assert this: ``` struct Trivial { Trivial() = delete; }; struct NonTrivial { NonTrivial() = default; NonTrivial(NonTrivial&) = default; NonTrivial& operator=(NonTrivial&) = default; }; static_assert(!__is_trivial(Trivial), "Ouch"); // #1 static_assert(__is_trivial(NonTrivial), "Ouch"); // #2 ``` The reason for #1 is https://cplusplus.github.io/CWG/issues/1496.html. The reason for #2 is https://cplusplus.github.io/CWG/issues/2171.html (after the https://cplusplus.github.io/CWG/issues/1593.html adjustment).