https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106611
--- Comment #2 from Nikolas Klauser <nikolasklauser at berlin dot de> --- (In reply to Jonathan Wakely from comment #1) > The noexcept specifier is wrong, but is ignored. The implicitly defined copy > constructor is noexcept, so the trait gives the right answer. static_assert(!noexcept(std::declval<const CopyConstructible&>()))); is fine. So one of them must be wrong.