diff --git a/libcxx/test/std/containers/sequences/array/array.creation/to_array.fail.cpp b/libcxx/test/std/containers/sequences/array/array.creation/to_array.fail.cpp --- a/libcxx/test/std/containers/sequences/array/array.creation/to_array.fail.cpp +++ b/libcxx/test/std/containers/sequences/array/array.creation/to_array.fail.cpp @@ -28,14 +28,14 @@ { MoveOnly mo[] = {MoveOnly{3}}; // expected-error@array:* {{to_array requires copy constructible elements}} - // expected-error@array:* {{calling a private constructor}} + // expected-error@array:* {{call to implicitly-deleted copy constructor of 'MoveOnly'}} std::to_array(mo); // expected-note {{requested here}} } { const MoveOnly cmo[] = {MoveOnly{3}}; // expected-error@array:* {{to_array requires move constructible elements}} - // expected-error@array:* {{calling a private constructor}} + // expected-error@array:* {{call to implicitly-deleted copy constructor of 'MoveOnly'}} std::to_array(std::move(cmo)); // expected-note {{requested here}} } diff --git a/libcxx/test/support/MoveOnly.h b/libcxx/test/support/MoveOnly.h --- a/libcxx/test/support/MoveOnly.h +++ b/libcxx/test/support/MoveOnly.h @@ -18,9 +18,6 @@ class MoveOnly { - MoveOnly(const MoveOnly&); - MoveOnly& operator=(const MoveOnly&); - int data_; public: constexpr MoveOnly(int data = 1) : data_(data) {} @@ -53,18 +50,15 @@ friend void operator,(T t, U u) = delete; }; -namespace std { template <> -struct hash +struct std::hash { typedef MoveOnly argument_type; typedef size_t result_type; constexpr size_t operator()(const MoveOnly& x) const {return x.get();} }; -} - #endif // TEST_STD_VER >= 11 #endif // MOVEONLY_H