This is the fix for the release branches, where std::to_array is
implemented differently.
Tested x86_64-linux. Pushed to gcc-13 and gcc-12. Will push to gcc-11
after testing.
-- >8 --
Qualify the calls to the __to_array helper to prevent ADL, so we don't
try to complete associated classes.
Tested x86_64-linux. Pushed to trunk.
-- >8 --
As noted in PR c++/111512, GCC does ADL for __builtin_memcpy if it is
unqualified, which can cause errors for template argument types which
cannot be completed.
Casting the memcpy arguments to void* prevents ADL from considering the
problem type.