Index: test/std/utilities/any/any.class/any.cons/move.pass.cpp =================================================================== --- test/std/utilities/any/any.class/any.cons/move.pass.cpp +++ test/std/utilities/any/any.class/any.cons/move.pass.cpp @@ -80,8 +80,8 @@ assert(Type::moved == 1 || Type::moved == 2); // zero or more move operations can be performed. assert(Type::copied == 0); // no copies can be performed. assert(Type::count == 1 + a.has_value()); - assertEmpty(a); // Moves are always destructive. assertContains(a2, 42); + LIBCPP_ASSERT(!a.has_value()); // Moves are always destructive. if (a.has_value()) assertContains(a, 0); } Index: test/std/utilities/any/any.class/any.cons/value.pass.cpp =================================================================== --- test/std/utilities/any/any.class/any.cons/value.pass.cpp +++ test/std/utilities/any/any.class/any.cons/value.pass.cpp @@ -137,10 +137,6 @@ static_assert(!std::is_constructible::value, ""); } { - using DecayTag = std::decay_t; - static_assert(!std::is_constructible::value, ""); - } - { // Test that the ValueType&& constructor SFINAE's away when the // argument is non-copyable struct NoCopy { Index: test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp =================================================================== --- test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp +++ test/std/utilities/any/any.class/any.modifiers/swap.pass.cpp @@ -104,7 +104,7 @@ assertContains(a, 42); assert(T::count == 1); assert(T::copied == 0); - assert(T::moved == 0); + LIBCPP_ASSERT(T::moved == 0); } assert(small::count == 0); { // large @@ -113,9 +113,9 @@ T::reset(); a.swap(a); assertContains(a, 42); - assert(T::copied == 0); - assert(T::moved == 0); assert(T::count == 1); + assert(T::copied == 0); + LIBCPP_ASSERT(T::moved == 0); } assert(large::count == 0); }