Replies: 1 comment 1 reply
-
We have CI running with C++20 for GCC toolchain, and it works fine. Also, as suggested in error, the workaround would be setting _HAS_DEPRECATED_RESULT_OF=1 and _SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have a simple console app (VS2019) that will build with C++14 but not with C++17 or C++20.
The app is:
With C++17, I get errors such as:
opentelemetry\nostd\absl\meta\type_traits.h(620,1): error C4996: 'std::result_of<Op (const bool &)>': warning STL4014: std::result_of and std::result_of_t are deprecated in C++17. They are superseded by std::invoke_result and std::invoke_result_t. You can define _SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that you have received this warning. 1> with 1> [ 1> Op=opentelemetry::v1::sdk::common::AttributeConverter & 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\type_traits(1739,1): message : see declaration of 'std::result_of<_Callable(_Args...)>'
With C++20, I get:
\api\include\opentelemetry\nostd\absl\meta\type_traits.h(620,35): error C2039: 'result_of': is not a member of 'std' 1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\include\functional(31): message : see declaration of 'std'
I am probably missing something but am wondering if this should build with C++17 or C++20 without changes?
Beta Was this translation helpful? Give feedback.
All reactions