https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106838

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The documented preconditions for __is_literal_type, __is_pod,
__is_standard_layout, and __is_trivial say:

Requires: type shall be a complete type, (possibly cv-qualified) void, or an
array of unknown bound.

But the corresponding library trait says:

"remove_all_extents_t<T> shall be a complete type or cv void."

I think r13-25 was right to allow arrays of unknown bound, but there should
also be a check that the array element is complete.


Looks like __is_aggregate has the same problem, but isn't documented in the
manual.

Reply via email to