From 8d8db27953c5b90280a85e290dcaf32b9ea49ebb Mon Sep 17 00:00:00 2001 From: Nikita Kniazev Date: Sun, 16 Jan 2022 22:52:11 +0300 Subject: [PATCH] Fix Clang 13 `-Wdeprecated-copy` warnings Clang 13 have new warning under the same group --- .../fusion/view/identity_view/identity_view.hpp | 7 +++++++ .../transform_view/transform_view_iterator.hpp | 15 +++++++++------ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/include/boost/fusion/view/identity_view/identity_view.hpp b/include/boost/fusion/view/identity_view/identity_view.hpp index e7efdb7a..4cd0c093 100644 --- a/include/boost/fusion/view/identity_view/identity_view.hpp +++ b/include/boost/fusion/view/identity_view/identity_view.hpp @@ -28,6 +28,10 @@ namespace boost { }; } +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4512) // assignment operator could not be generated. +#endif namespace boost { namespace fusion { template struct identity_view : transform_view @@ -39,5 +43,8 @@ namespace boost { namespace fusion { : base_type(in_seq, detail::identity()) {} }; }} +#ifdef _MSC_VER +# pragma warning(pop) +#endif #endif diff --git a/include/boost/fusion/view/transform_view/transform_view_iterator.hpp b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp index 071cba8e..ba5b7c9b 100644 --- a/include/boost/fusion/view/transform_view/transform_view_iterator.hpp +++ b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -23,6 +23,11 @@ #include #include +#ifdef _MSC_VER +# pragma warning(push) +# pragma warning(disable: 4512) // assignment operator could not be generated. +#endif + namespace boost { namespace fusion { // Unary Version @@ -44,9 +49,6 @@ namespace boost { namespace fusion first_type first; transform_type f; - - // silence MSVC warning C4512: assignment operator could not be generated - BOOST_DELETED_FUNCTION(transform_view_iterator& operator= (transform_view_iterator const&)) }; // Binary Version @@ -71,12 +73,13 @@ namespace boost { namespace fusion first1_type first1; first2_type first2; transform_type f; - - // silence MSVC warning C4512: assignment operator could not be generated - BOOST_DELETED_FUNCTION(transform_view_iterator2& operator= (transform_view_iterator2 const&)) }; }} +#ifdef _MSC_VER +# pragma warning(pop) +#endif + #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std {