https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92812
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> --- I don't know if this is supposed to be valid now too: int arr[1] = static_cast<int[1]>(42); or using T = int[]; int arr[1] = static_cast<T>(42); but it seems so.