diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp index a591b5f62e69b7..708370a47b616b 100644 --- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp @@ -48,7 +48,7 @@ class X int i_; public: constexpr explicit X(int i) : i_(i) {} - constexpr X(X&& x) : i_(std::exchange(x.i_, 0)) {} + constexpr X(X&& x) : i_(x.i_) { x.i_ = 0; } TEST_CONSTEXPR_CXX20 ~X() {i_ = 0;} friend constexpr bool operator==(const X& x, const X& y) {return x.i_ == y.i_;} };