https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71579
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- The real code would need to be more complicated to handle arrays of unknown bound and void, or valid code would trigger the static assertion. Even then, I'd be worried about introducing ODR violations, but maybe it could be done safely without too much contortion.