Mark LWG2736 as complete. No code changes, but we have more tests now

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@292958 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Marshall Clow
2017-01-24 18:03:32 +00:00
parent b08183bc1f
commit a5f53d0730
3 changed files with 36 additions and 4 deletions

View File

@@ -13,6 +13,11 @@
// struct nullopt_t{see below};
// constexpr nullopt_t nullopt(unspecified);
// [optional.nullopt]/2:
// Type nullopt_t shall not have a default constructor or an initializer-list constructor.
// It shall not be an aggregate and shall be a literal type.
// Constant nullopt shall be initialized with an argument of literal type.
#include <optional>
#include <type_traits>
@@ -29,9 +34,9 @@ test(const nullopt_t&)
int main()
{
static_assert((std::is_class<nullopt_t>::value), "");
static_assert((std::is_empty<nullopt_t>::value), "");
static_assert((std::is_literal_type<nullopt_t>::value), "");
static_assert(( std::is_class<nullopt_t>::value), "");
static_assert(( std::is_empty<nullopt_t>::value), "");
static_assert(( std::is_literal_type<nullopt_t>::value), "");
static_assert((!std::is_default_constructible<nullopt_t>::value), "");
static_assert(test(nullopt) == 3, "");