diff --git a/src/Magnum/Trade/AbstractImporter.h b/src/Magnum/Trade/AbstractImporter.h index 76345467c..409bf8103 100644 --- a/src/Magnum/Trade/AbstractImporter.h +++ b/src/Magnum/Trade/AbstractImporter.h @@ -1706,7 +1706,14 @@ class MAGNUM_TRADE_EXPORT AbstractImporter: public PluginManager::AbstractManagi * @m_deprecated_since_latest Implement @ref doOpenData(Containers::Array&&, DataFlags) * instead. */ - virtual CORRADE_DEPRECATED("implement doOpenData(Containers::Array&&, DataFlags) instead") void doOpenData(Containers::ArrayView data); + /* MSVC warns when overriding such methods and there's no way to + suppress that warning, making the RT build (which treats deprecation + warnings as errors) fail and other builds extremely noisy. So + disabling those on MSVC. */ + #if !(defined(CORRADE_TARGET_MSVC) && !defined(CORRADE_TARGET_CLANG)) + CORRADE_DEPRECATED("implement doOpenData(Containers::Array&&, DataFlags) instead") + #endif + virtual void doOpenData(Containers::ArrayView data); #endif /** @brief Implementation for @ref openState() */ diff --git a/src/Magnum/Trade/Test/AbstractImporterTest.cpp b/src/Magnum/Trade/Test/AbstractImporterTest.cpp index d8277a8fa..fc070a592 100644 --- a/src/Magnum/Trade/Test/AbstractImporterTest.cpp +++ b/src/Magnum/Trade/Test/AbstractImporterTest.cpp @@ -667,14 +667,12 @@ void AbstractImporterTest::openDataDeprecatedFallback() { bool doIsOpened() const override { return _opened; } void doClose() override { _opened = false; } - CORRADE_IGNORE_DEPRECATED_PUSH void doOpenData(Containers::ArrayView data) override { CORRADE_COMPARE_AS(data, Containers::arrayView({'\xa5'}), TestSuite::Compare::Container); _opened = true; } - CORRADE_IGNORE_DEPRECATED_POP bool _opened = false; } importer;