diff --git a/source/blender/blenlib/BLI_generic_array.hh b/source/blender/blenlib/BLI_generic_array.hh index fced4173bba..b303c81013a 100644 --- a/source/blender/blenlib/BLI_generic_array.hh +++ b/source/blender/blenlib/BLI_generic_array.hh @@ -99,7 +99,8 @@ class GArray { /** * Create an array by taking ownership of another array's data, clearing the data in the other. */ - GArray(GArray &&other) : GArray(other.type(), other.data(), other.size(), other.allocator()) + GArray(GArray &&other) + : type_(other.type_), data_(other.data_), size_(other.size_), allocator_(other.allocator_) { other.data_ = nullptr; other.size_ = 0; diff --git a/source/blender/blenlib/tests/BLI_generic_array_test.cc b/source/blender/blenlib/tests/BLI_generic_array_test.cc index 1552d9f7163..0fb8a236b4d 100644 --- a/source/blender/blenlib/tests/BLI_generic_array_test.cc +++ b/source/blender/blenlib/tests/BLI_generic_array_test.cc @@ -125,4 +125,12 @@ TEST(generic_array, ReinitEmpty) EXPECT_EQ(array.as_span().typed()[9], 7); } +TEST(generic_array, AssignDefault) +{ + GArray<> array(CPPType::get(), int64_t(5)); + array = {}; + EXPECT_EQ(array.size(), 0); + EXPECT_EQ(array.data(), nullptr); +} + } // namespace blender::tests