From f1f6083c881eb7c7a3ef5f913730a9e3dbcafee6 Mon Sep 17 00:00:00 2001 From: Lalit Kumar Bhasin Date: Sat, 10 Dec 2022 09:51:00 -0800 Subject: [PATCH] Fix #1856 (#1857) Fixes https://github.com/open-telemetry/opentelemetry-cpp/issues/1856 --- .../opentelemetry/nostd/internal/absl/meta/type_traits.h | 4 ++-- api/include/opentelemetry/nostd/string_view.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/api/include/opentelemetry/nostd/internal/absl/meta/type_traits.h b/api/include/opentelemetry/nostd/internal/absl/meta/type_traits.h index 74ae82a6b6..489f6d47f9 100644 --- a/api/include/opentelemetry/nostd/internal/absl/meta/type_traits.h +++ b/api/include/opentelemetry/nostd/internal/absl/meta/type_traits.h @@ -170,9 +170,9 @@ using IsMoveAssignableImpl = decltype(std::declval() = std::declval()); } // namespace type_traits_internal -// MSVC 19.20 has a regression that causes our workarounds to fail, but their +// MSVC 19.10 and higher have a regression that causes our workarounds to fail, but their // std forms now appear to be compliant. -#if defined(_MSC_VER) && !defined(__clang__) && (_MSC_VER >= 1920) +#if defined(_MSC_VER) && !defined(__clang__) && (_MSC_VER >= 1910) template using is_copy_assignable = std::is_copy_assignable; diff --git a/api/include/opentelemetry/nostd/string_view.h b/api/include/opentelemetry/nostd/string_view.h index ac27c3dc79..4f065effa0 100644 --- a/api/include/opentelemetry/nostd/string_view.h +++ b/api/include/opentelemetry/nostd/string_view.h @@ -139,8 +139,8 @@ inline bool operator==(string_view lhs, string_view rhs) noexcept { return lhs.length() == rhs.length() && # if defined(_MSC_VER) -# if _MSC_VER == 1900 - // Avoid SCL error in Visual Studio 2015 +# if _MSC_VER >= 1900 && _MSC_VER <= 1911 + // Avoid SCL error in Visual Studio 2015, VS2017 update 1 to update 4 (std::memcmp(lhs.data(), rhs.data(), lhs.length()) == 0); # else std::equal(lhs.data(), lhs.data() + lhs.length(), rhs.data());