git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@358332
91177308-0d34-0410-b5e6-
96231b3b80d8
std::copy(Data.begin(), Data.end(), this->begin());
}
- OwningArrayRef(OwningArrayRef &&Other) { *this = Other; }
+ OwningArrayRef(OwningArrayRef &&Other) { *this = std::move(Other); }
OwningArrayRef &operator=(OwningArrayRef &&Other) {
delete[] this->data();
EXPECT_TRUE(AR2.equals(AR2Ref));
}
+TEST(ArrayRefTest, OwningArrayRef) {
+ static const int A1[] = {0, 1};
+ OwningArrayRef<int> A(makeArrayRef(A1));
+ OwningArrayRef<int> B(std::move(A));
+ EXPECT_EQ(A.data(), nullptr);
+}
+
static_assert(is_trivially_copyable<ArrayRef<int>>::value,
"trivially copyable");