https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71579
--- Comment #25 from Jonathan Wakely <redi at gcc dot gnu.org> --- Some missing completeness checks: std::assignable<int, Incomplete> We don't enforce precondition that both types are complete types, cv void, or arrays of unknown bound. Filed as PR c++/109997 std::common_type<int, Incomplete> Our impl is SFINAE-friendly, but the standard has a precondition that all types in the pack are complete, cv void, or array of unknown bound.