diff options
Diffstat (limited to 'libcxx/test/std/utilities/optional')
| -rw-r--r-- | libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp b/libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp index 1e40881907b..6d9a2607d14 100644 --- a/libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.hash/hash.pass.cpp @@ -38,9 +38,14 @@ int main()          std::hash<optional<double>>{}(optional<double>{});      { +        optional<B> opt; +        ASSERT_NOT_NOEXCEPT(std::hash<optional<B>>()(opt)); +        ASSERT_NOT_NOEXCEPT(std::hash<optional<const B>>()(opt)); +    } + +    {          typedef int T;          optional<T> opt; -        ASSERT_NOT_NOEXCEPT(std::hash<optional<T>>()(opt));          assert(std::hash<optional<T>>{}(opt) == nullopt_hash);          opt = 2;          assert(std::hash<optional<T>>{}(opt) == std::hash<T>{}(*opt)); @@ -48,7 +53,6 @@ int main()      {          typedef std::string T;          optional<T> opt; -        ASSERT_NOT_NOEXCEPT(std::hash<optional<T>>()(opt));          assert(std::hash<optional<T>>{}(opt) == nullopt_hash);          opt = std::string("123");          assert(std::hash<optional<T>>{}(opt) == std::hash<T>{}(*opt)); @@ -56,7 +60,6 @@ int main()      {          typedef std::unique_ptr<int> T;          optional<T> opt; -        ASSERT_NOT_NOEXCEPT(std::hash<optional<T>>()(opt));          assert(std::hash<optional<T>>{}(opt) == nullopt_hash);          opt = std::unique_ptr<int>(new int(3));          assert(std::hash<optional<T>>{}(opt) == std::hash<T>{}(*opt)); | 

