The precondition for is_aggregate is "remove_all_extents_t<T> shall be a complete type or cv void." This means that is_aggregate_v<Incomplete[2]> is undefined, but an array is always an aggregate, we don't need a complete element type to know that.
Suggestion: T shall be a complete type, an array, or cv void.
The precondition for is_aggregate is "
remove_all_extents_t<T>
shall be a complete type orcv void
." This means thatis_aggregate_v<Incomplete[2]>
is undefined, but an array is always an aggregate, we don't need a complete element type to know that.Suggestion: T shall be a complete type, an array, or cv void.