https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102401
--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Note, since r12-5789-gc57c910c945ac68ba9a7cda9b0f963173781d58c GCC implements https://wg21.link/P1272 which clarifies that the #c0 testcase is invalid. With unsigned char or std::byte instead of char in Data definition actually doing std::bit_cast<Data>(item) would be well defined, but not the copying of those bytes to d.