This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.
Section: 5.3 [fund.ts.v2::optional.object] Status: TS Submitter: Marshall Clow Opened: 2015-11-03 Last modified: 2018-07-08
View all other issues in [fund.ts.v2::optional.object].
View all issues with TS status.
22.5.3 [optional.optional] does not specify whether over-aligned types are supported. In other places where we specify allocation of user-supplied types, we state that "It is implementation-defined whether over-aligned types are supported (3.11)." (Examples: 18.104.22.168 [expr.new]/p1, 22.214.171.124 [allocator.members]/p5, [temporary.buffer]/p1). We should presumably do the same thing here.
This wording is relative to N4562.
Edit 22.5.3 [optional.optional]/p1 as follows::
[…] The contained value shall be allocated in a region of the optional<T> storage suitably aligned for the type T. When an object of type optional<T> is contextually converted to bool, the conversion returns true if the object contains a value; otherwise the conversion returns false.