https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106839
Bug ID: 106839
Summary: Library traits need to handle array of incomplete type
with unknown bound
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Keywords: rejects-valid
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
Target Milestone: ---
This should be valid:
#include <type_traits>
struct Inc;
static_assert( ! std::is_empty_v<Inc[]> );
static_assert( ! std::is_pod_v<Inc[]> );
static_assert( ! std::is_polymorphic_v<Inc[]> );
static_assert( ! std::is_abstract_v<Inc[]> );
However, before r13-25 the front-end rejected it. For the release branches, the
library needs to workaround this.