https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104699
Bug ID: 104699 Summary: zero-length-array is not considered as an array Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: nickhuang99 at hotmail dot com Target Milestone: --- GCC clearly states that "declaring zero-length arrays is allowed in GNU C as an extension". https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html However, parser rejects to recognize int[0] as an array. i.e. static_assert(! std::is_array<int[0]>::value); This is not an issue of library function "is_array". Instead it is the specialization of "is_array<int[0]>" which is not considered valid.