diff --git a/src/Magnum/Trade/MeshData.cpp b/src/Magnum/Trade/MeshData.cpp index 080a74988..e4df296c6 100644 --- a/src/Magnum/Trade/MeshData.cpp +++ b/src/Magnum/Trade/MeshData.cpp @@ -202,10 +202,10 @@ MeshData::MeshData(const MeshPrimitive primitive, const DataFlags indexDataFlags MeshData::MeshData(const MeshPrimitive primitive, const UnsignedInt vertexCount, const void* const importerState) noexcept: MeshData{primitive, {}, MeshIndexData{}, {}, {}, vertexCount, importerState} {} -MeshData::~MeshData() = default; - MeshData::MeshData(MeshData&&) noexcept = default; +MeshData::~MeshData() = default; + MeshData& MeshData::operator=(MeshData&&) noexcept = default; Containers::ArrayView MeshData::mutableIndexData() & { diff --git a/src/Magnum/Trade/MeshData.h b/src/Magnum/Trade/MeshData.h index 40359f203..63e76bd68 100644 --- a/src/Magnum/Trade/MeshData.h +++ b/src/Magnum/Trade/MeshData.h @@ -940,14 +940,14 @@ class MAGNUM_TRADE_EXPORT MeshData { */ explicit MeshData(MeshPrimitive primitive, UnsignedInt vertexCount, const void* importerState = nullptr) noexcept; - ~MeshData(); - /** @brief Copying is not allowed */ MeshData(const MeshData&) = delete; /** @brief Move constructor */ MeshData(MeshData&&) noexcept; + ~MeshData(); + /** @brief Copying is not allowed */ MeshData& operator=(const MeshData&) = delete; diff --git a/src/Magnum/Trade/Test/MeshDataTest.cpp b/src/Magnum/Trade/Test/MeshDataTest.cpp index 1e2f8a5fd..c5f5ba99f 100644 --- a/src/Magnum/Trade/Test/MeshDataTest.cpp +++ b/src/Magnum/Trade/Test/MeshDataTest.cpp @@ -576,8 +576,11 @@ void MeshDataTest::constructAttribute() { CORRADE_COMPARE(positions.offset(positionData), 0); CORRADE_COMPARE(positions.stride(), sizeof(Vector2)); CORRADE_VERIFY(positions.data().data() == positionData); - /* This is allowed too for simplicity, it just ignores the parameter */ - CORRADE_VERIFY(positions.data(positionData).data() == positionData); + + /* This is allowed too for simplicity, the parameter has to be large enough + tho */ + char someArray[3*sizeof(Vector2)]; + CORRADE_VERIFY(positions.data(someArray).data() == positionData); constexpr MeshAttributeData cpositions{MeshAttribute::Position, Containers::arrayView(Positions)}; constexpr bool isOffsetOnly = cpositions.isOffsetOnly(); @@ -889,7 +892,7 @@ void MeshDataTest::constructArrayAttribute2DNonContiguous() { void MeshDataTest::constructArrayAttributeTypeErased() { Vector2 vertexData[3*4]; Containers::StridedArrayView1D attribute{vertexData, 3, 4*sizeof(Vector2)}; - MeshAttributeData data{meshAttributeCustom(35), VertexFormat::Vector2, attribute, 4}; + MeshAttributeData data{meshAttributeCustom(35), VertexFormat::Vector2, Containers::arrayCast(attribute), 4}; CORRADE_VERIFY(!data.isOffsetOnly()); CORRADE_COMPARE(data.name(), meshAttributeCustom(35)); CORRADE_COMPARE(data.format(), VertexFormat::Vector2);