It was a clever harmless trick. Well, it was way more harmless than it
was clever, but even then it caused UBSan to complain. And that's Not A
Good Thing for various reasons, so let's just comply.
The main bad effect of this change is a *slightly* larger list of
exported symbols but until we actually get rid of the major bloats like
<iostream>, <string> and the like, this is not going to have any
measurable impact.
CORRADE_ASSERT(!image||!image->_data.deleter()||image->_data.deleter()==Implementation::nonOwnedArrayDeleter||image->_data.deleter()==ArrayAllocator<char>::deleter,"Trade::AbstractImporter::image1D(): implementation is not allowed to use a custom Array deleter",{});
CORRADE_ASSERT(!image||!image->_data.deleter()||image->_data.deleter()==static_cast<void(*)(char*,std::size_t)>(Implementation::nonOwnedArrayDeleter)||image->_data.deleter()==ArrayAllocator<char>::deleter,"Trade::AbstractImporter::image1D(): implementation is not allowed to use a custom Array deleter",{});
returnimage;
}
@ -1437,7 +1437,7 @@ Containers::Optional<ImageData2D> AbstractImporter::image2D(const UnsignedInt id
CORRADE_ASSERT(!image||!image->_data.deleter()||image->_data.deleter()==Implementation::nonOwnedArrayDeleter||image->_data.deleter()==ArrayAllocator<char>::deleter,"Trade::AbstractImporter::image2D(): implementation is not allowed to use a custom Array deleter",{});
CORRADE_ASSERT(!image||!image->_data.deleter()||image->_data.deleter()==static_cast<void(*)(char*,std::size_t)>(Implementation::nonOwnedArrayDeleter)||image->_data.deleter()==ArrayAllocator<char>::deleter,"Trade::AbstractImporter::image2D(): implementation is not allowed to use a custom Array deleter",{});
returnimage;
}
@ -1507,7 +1507,7 @@ Containers::Optional<ImageData3D> AbstractImporter::image3D(const UnsignedInt id
CORRADE_ASSERT(!image||!image->_data.deleter()||image->_data.deleter()==Implementation::nonOwnedArrayDeleter||image->_data.deleter()==ArrayAllocator<char>::deleter,"Trade::AbstractImporter::image3D(): implementation is not allowed to use a custom Array deleter",{});
CORRADE_ASSERT(!image||!image->_data.deleter()||image->_data.deleter()==static_cast<void(*)(char*,std::size_t)>(Implementation::nonOwnedArrayDeleter)||image->_data.deleter()==ArrayAllocator<char>::deleter,"Trade::AbstractImporter::image3D(): implementation is not allowed to use a custom Array deleter",{});