HomePhabricator

[NFC] Make Optional<T> trivially copyable when T is trivially copyable

Description

[NFC] Make Optional<T> trivially copyable when T is trivially copyable

This is a follow-up to r354246 and a reimplementation of https://reviews.llvm.org/D57097?id=186600
that should not trigger any UB thanks to the use of an union.

This may still be subject to the problem solved by std::launder, but I'm unsure how it interacts whith union.
/me plans to revert if this triggers any relevant bot failure. At least this validates in Release mode with
clang 6.0.1 and gcc 4.8.5.

Details

Committed
serge_sans_pailleFeb 18 2019, 4:07 AM
Parents
rL354263: minidump: Add ability to attach (breakpad) symbol files to placeholder modules
Branches
Unknown
Tags
Unknown