]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: Remove unnecessary variant member in std::expected
authorJonathan Wakely <jwakely@redhat.com>
Tue, 1 Nov 2022 13:47:24 +0000 (13:47 +0000)
committerJonathan Wakely <jwakely@redhat.com>
Wed, 2 Nov 2022 12:54:16 +0000 (12:54 +0000)
commitf4874691812bc20e3d8e3302db439c27f30c472c
tree99b9be831ea469f73b4e8ea163fde347b07a2f70
parentcf35818a390e7cb4b1a4fa70c243ede59d6cbbac
libstdc++: Remove unnecessary variant member in std::expected

Hui Xie pointed out that we don't need a dummy member in the union,
because all constructors always initialize either _M_val or _M_unex.

We still need the _M_void member of the expected<void, E>
specialization, because the constructor has to initialize something when
not using the _M_unex member.

libstdc++-v3/ChangeLog:

* include/std/expected (expected::_M_invalid): Remove.
libstdc++-v3/include/std/expected