This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository libcxx.
from ead5d40 Revert Add <optional>. Will recommit with better commit message new 35ce485 Implement N4606 optional
The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: .gitignore | 3 + include/__config | 4 + include/optional | 1313 ++++++++++++++++++++ include/type_traits | 4 +- src/optional.cpp | 12 +- .../optional.object.assign/copy.pass.cpp | 81 ++ .../optional.object.assign/move.pass.cpp | 78 ++ .../optional.object.ctor/copy.pass.cpp | 59 + .../optional.object.ctor/move.pass.cpp | 60 + .../optional.object/special_member_gen.pass.cpp | 66 + test/libcxx/utilities/optional/version.pass.cpp | 20 + .../is_nothrow_swappable_with.pass.cpp | 2 +- .../optional.bad_optional_access/default.pass.cpp | 23 + .../optional.bad_optional_access/derive.pass.cpp | 25 + .../optional/optional.comp_with_t/equal.pass.cpp | 53 + .../optional/optional.comp_with_t/greater.pass.cpp | 55 + .../optional.comp_with_t/greater_equal.pass.cpp | 55 + .../optional.comp_with_t/less_equal.pass.cpp | 55 + .../optional.comp_with_t/less_than.pass.cpp | 55 + .../optional.comp_with_t/not_equal.pass.cpp | 53 + .../utilities/optional/optional.hash/hash.pass.cpp | 48 + .../optional/optional.nullops/equal.pass.cpp | 39 + .../optional/optional.nullops/greater.pass.cpp | 39 + .../optional.nullops/greater_equal.pass.cpp | 39 + .../optional/optional.nullops/less_equal.pass.cpp | 40 + .../optional/optional.nullops/less_than.pass.cpp | 39 + .../optional/optional.nullops/not_equal.pass.cpp | 39 + .../not_brace_initializable.fail.cpp | 25 + .../optional/optional.nullopt/nullopt_t.pass.cpp | 38 + .../optional.object.assign/assign_value.pass.cpp | 261 ++++ .../const_optional_U.pass.cpp | 254 ++++ .../optional.object.assign/copy.pass.cpp | 102 ++ .../optional.object.assign/emplace.pass.cpp | 237 ++++ .../emplace_initializer_list.pass.cpp | 113 ++ .../optional.object.assign/move.pass.cpp | 174 +++ .../optional.object.assign/nullopt_t.pass.cpp | 67 + .../optional.object.assign/optional_U.pass.cpp | 268 ++++ .../optional.object.ctor/U.pass.cpp | 137 ++ .../optional.object.ctor/const_T.pass.cpp | 123 ++ .../optional.object.ctor/const_optional_U.pass.cpp | 134 ++ .../optional.object.ctor/copy.pass.cpp | 150 +++ .../optional.object.ctor/default.pass.cpp | 81 ++ .../explicit_const_optional_U.pass.cpp | 121 ++ .../explicit_optional_U.pass.cpp | 84 ++ .../optional.object.ctor/in_place_t.pass.cpp | 144 +++ .../optional.object.ctor/initializer_list.pass.cpp | 116 ++ .../optional.object.ctor/move.pass.cpp | 196 +++ .../optional.object.ctor/nullopt_t.pass.cpp | 73 ++ .../optional.object.ctor/optional_U.pass.cpp | 93 ++ .../optional.object.ctor/rvalue_T.pass.cpp | 148 +++ .../optional.object.dtor/dtor.pass.cpp | 68 + .../optional.object.mod/reset.pass.cpp | 61 + .../optional.object.observe/bool.pass.cpp | 37 + .../optional.object.observe/dereference.pass.cpp | 73 ++ .../dereference_const.pass.cpp | 69 + .../dereference_const_rvalue.pass.cpp | 69 + .../dereference_rvalue.pass.cpp | 73 ++ .../optional.object.observe/has_value.pass.cpp | 37 + .../optional.object.observe/op_arrow.pass.cpp | 72 ++ .../op_arrow_const.pass.cpp | 76 ++ .../optional.object.observe/value.pass.cpp | 73 ++ .../optional.object.observe/value_const.fail.cpp | 33 + .../optional.object.observe/value_const.pass.cpp | 64 + .../value_const_rvalue.pass.cpp | 64 + .../optional.object.observe/value_or.pass.cpp | 68 + .../value_or_const.pass.cpp | 77 ++ .../optional.object.observe/value_rvalue.pass.cpp | 72 ++ .../optional.object.swap/swap.pass.cpp | 306 +++++ .../optional_requires_destructible_object.fail.cpp | 50 + .../optional.object/special_member_gen.pass.cpp | 74 ++ .../optional/optional.object/types.pass.cpp | 38 + .../optional/optional.relops/equal.pass.cpp | 74 ++ .../optional.relops/greater_equal.pass.cpp | 70 ++ .../optional/optional.relops/greater_than.pass.cpp | 70 ++ .../optional/optional.relops/less_equal.pass.cpp | 70 ++ .../optional/optional.relops/less_than.pass.cpp | 70 ++ .../optional/optional.relops/not_equal.pass.cpp | 74 ++ .../optional.specalg/make_optional.pass.cpp | 51 + .../make_optional_explicit.pass.cpp | 45 + ...ake_optional_explicit_initializer_list.pass.cpp | 53 + .../optional/optional.specalg/swap.pass.cpp | 352 ++++++ .../optional.syn/optional_in_place_t.fail.cpp | 26 + .../optional_includes_initializer_list.pass.cpp | 22 + .../optional.syn/optional_nullopt_t.fail.cpp | 29 + test/support/archetypes.hpp | 322 ++++- test/support/archetypes.ipp | 141 ++- 86 files changed, 8469 insertions(+), 52 deletions(-) create mode 100644 include/optional create mode 100644 test/libcxx/utilities/optional/optional.object/optional.object. [...] create mode 100644 test/libcxx/utilities/optional/optional.object/optional.object. [...] create mode 100644 test/libcxx/utilities/optional/optional.object/optional.object. [...] create mode 100644 test/libcxx/utilities/optional/optional.object/optional.object. [...] create mode 100644 test/libcxx/utilities/optional/optional.object/special_member_g [...] create mode 100644 test/libcxx/utilities/optional/version.pass.cpp create mode 100644 test/std/utilities/optional/optional.bad_optional_access/defaul [...] create mode 100644 test/std/utilities/optional/optional.bad_optional_access/derive [...] create mode 100644 test/std/utilities/optional/optional.comp_with_t/equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.comp_with_t/greater.pass.cpp create mode 100644 test/std/utilities/optional/optional.comp_with_t/greater_equal. [...] create mode 100644 test/std/utilities/optional/optional.comp_with_t/less_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.comp_with_t/less_than.pass.cpp create mode 100644 test/std/utilities/optional/optional.comp_with_t/not_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.hash/hash.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullops/equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullops/greater.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullops/greater_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullops/less_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullops/less_than.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullops/not_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.nullopt/not_brace_initiali [...] create mode 100644 test/std/utilities/optional/optional.nullopt/nullopt_t.pass.cpp create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.ass [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.cto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.dto [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.mod [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.obs [...] create mode 100644 test/std/utilities/optional/optional.object/optional.object.swa [...] create mode 100644 test/std/utilities/optional/optional.object/optional_requires_d [...] create mode 100644 test/std/utilities/optional/optional.object/special_member_gen. [...] create mode 100644 test/std/utilities/optional/optional.object/types.pass.cpp create mode 100644 test/std/utilities/optional/optional.relops/equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.relops/greater_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.relops/greater_than.pass.cpp create mode 100644 test/std/utilities/optional/optional.relops/less_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.relops/less_than.pass.cpp create mode 100644 test/std/utilities/optional/optional.relops/not_equal.pass.cpp create mode 100644 test/std/utilities/optional/optional.specalg/make_optional.pass.cpp create mode 100644 test/std/utilities/optional/optional.specalg/make_optional_expl [...] create mode 100644 test/std/utilities/optional/optional.specalg/make_optional_expl [...] create mode 100644 test/std/utilities/optional/optional.specalg/swap.pass.cpp create mode 100644 test/std/utilities/optional/optional.syn/optional_in_place_t.fail.cpp create mode 100644 test/std/utilities/optional/optional.syn/optional_includes_init [...] create mode 100644 test/std/utilities/optional/optional.syn/optional_nullopt_t.fail.cpp