Created on 2015-07-03.00:00:00 last changed 100 months ago
Proposed resolution:
This wording is relative to N4606.
Add a new paragraph add the end of [derivation] as indicated:
-?- All types specified in the C++ standard library shall be non-
finaltypes unless otherwise specified.
[ 2016-08 - Chicago ]
Thurs PM: Moved to Tentatively Ready
[ 2016-08-04 Chicago LWG ]
LWG discusses and expresses preference for a more general, Library-wide, resolution. Walter and Nevin provide a new Proposed Resolution consistent with such guidance.
[ 2016-08-03 Chicago LWG ]
Walter, Nevin, and Jason provide initial Proposed Resolution.
Previous resolution [SUPERSEDED]:
This wording is relative to N4606.
Change [meta.rqmts] as indicated:
-1- A UnaryTypeTrait describes a property of a type. It shall be a non-
-2- A BinaryTypeTrait describes a relationship between two types. It shall be a non-finalclass template […]finalclass template […] -3- A TransformationTrait modifies a property of a type. It shall be a non-finalclass template […]
We should make it clear that all standard UnaryTypeTraits, BinaryTypeTraits and TransformationTraits are not final.
Otherwise it is not safe to use them as arguments to a template like this:
template<typename C1, typename C2>
struct conjunction
  : conditional_t<C1::value, C2, C1>
{ };
| History | |||
|---|---|---|---|
| Date | User | Action | Args | 
| 2017-07-30 20:15:43 | admin | set | status: wp -> c++17 | 
| 2016-11-14 03:59:28 | admin | set | status: pending -> wp | 
| 2016-11-14 03:55:22 | admin | set | status: ready -> pending | 
| 2016-08-05 03:58:49 | admin | set | messages: + msg8420 | 
| 2016-08-05 03:58:49 | admin | set | status: new -> ready | 
| 2016-08-04 20:52:54 | admin | set | messages: + msg8407 | 
| 2016-08-04 18:40:03 | admin | set | messages: + msg8400 | 
| 2016-08-04 18:40:03 | admin | set | messages: + msg8399 | 
| 2015-07-03 00:00:00 | admin | create | |