]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Allow std::ranges::to to create unions
authorJonathan Wakely <jwakely@redhat.com>
Tue, 25 Mar 2025 00:27:52 +0000 (00:27 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Tue, 25 Mar 2025 17:44:25 +0000 (17:44 +0000)
commit479a0a8644e5efa0470f032be21ca7749968af42
treed2005d20d4abdea5a458d8d9d145274e2f31b3cc
parente200f53a5556516ec831e6b7a34aaa0f10a4ab0a
libstdc++: Allow std::ranges::to to create unions

LWG 4229 points out that the std::ranges::to wording refers to class
types, but I added an assertion using std::is_class_v which only allows
non-union class types. LWG consensus is that unions should be allowed,
so this additionally uses std::is_union_v.

libstdc++-v3/ChangeLog:

* include/std/ranges (ranges::to): Allow unions as well as
non-union class types.
* testsuite/std/ranges/conv/lwg4229.cc: New test.

Reviewed-by: Tomasz KamiƄski <tkaminsk@redhat.com>
libstdc++-v3/include/std/ranges
libstdc++-v3/testsuite/std/ranges/conv/lwg4229.cc [new file with mode: 0644]