This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++20 status.
Section: 21.3.8.7 [meta.trans.other] Status: C++20 Submitter: Tim Song Opened: 2017-06-14 Last modified: 2021-02-25
Priority: 0
View all other issues in [meta.trans.other].
View all issues with C++20 status.
Discussion:
aligned_union's description doesn't, but should, require the types provided to be complete object types.
[2017-07 Toronto Monday issue prioritization]
Priority 0; move to Ready
Proposed resolution:
This wording is relative to N4659.
In 21.3.8.7 [meta.trans.other], edit Table 50 "Other transformations" as indicated:
Table 50 — Other transformations Template Comments […] template <size_t Len, class... Types>
struct aligned_union;The member typedef type shall be a POD type suitable for use as uninitialized storage for any object whose type is listed in Types; its size shall be at least Len. The static member alignment_value shall be an integral constant of type size_t whose value is the strictest alignment of all types listed in Types.
Requires: At least one type is provided. Each type in the parameter pack Types shall be a complete object type.[…]