https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109277
--- Comment #13 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Jason Merrill <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:f32f7881fb0db085479525b5a23db5dabd990c3b commit r13-7172-gf32f7881fb0db085479525b5a23db5dabd990c3b Author: Jason Merrill <ja...@redhat.com> Date: Mon Apr 3 23:20:13 2023 -0400 c++: make trait of incomplete type a permerror [PR109277] An incomplete type argument to several traits is specified to be undefined behavior in the library; since it's a compile-time property, we diagnose it. But apparently some code was relying on the previous behavior of not diagnosing. So let's make it a permerror. The assert in cxx_incomplete_type_diagnostic didn't like that, and I don't see the point of having the assert, so let's just remove it. PR c++/109277 gcc/cp/ChangeLog: * semantics.cc (check_trait_type): Handle incomplete type directly. * typeck2.cc (cxx_incomplete_type_diagnostic): Remove assert. gcc/testsuite/ChangeLog: * g++.dg/ext/is_convertible5.C: New test.