Created on 2015-03-11.00:00:00 last changed 49 months ago
Proposed resolution (September, 2015):
Change 6.8 [basic.types] bullet 10.5 as follows:
A type is a literal type if it is:
a possibly cv-qualified class type (Clause Clause 11 [class]) that has all of the following properties:
it has a trivial destructor,
it is an aggregate type (9.4.2 [dcl.init.aggr]) or has at least one constexpr constructor or constructor template that is not a copy or move constructor,
all of its non-static data members and base classes are of non-volatile literal types.
[Adopted at the February, 2016 meeting.]
According to 6.8 [basic.types] bullet 10.5.3, all the members of a class type must be of non-volatile literal types. This seems overly constraining for unions; it would seem to be sufficient if at least one of its non-static members were of a literal type.
|2017-02-06 00:00:00||admin||set||status: tentatively ready -> cd4|
|2015-11-10 00:00:00||admin||set||messages: + msg5592|
|2015-11-10 00:00:00||admin||set||status: drafting -> tentatively ready|