https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95153
TC <rs2740 at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rs2740 at gmail dot com --- Comment #2 from TC <rs2740 at gmail dot com> --- This is behaving as specified. const void* const a[10]; const void* const b[10](a); is valid code in C++20; it initializes b[0] with &a[0] converted to a const void*, and the rest of b with null pointers. The void* case is void* const a[10]; void* const b[10](a); which is invalid because &a[0] is a void* const*; converting that to void* is not allowed because it casts away constness.