diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc796e8..6a177b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -209,7 +209,7 @@ jobs: fail-fast: false matrix: toolset: [ clang ] - standard: [ 03, 11, 14, 17, 2a ] + standard: [ "03", 11, 14, 17, 2a ] steps: - uses: actions/checkout@v2 with: @@ -333,7 +333,7 @@ jobs: run: config_info_travis working-directory: ../boost-root/libs/config/test - name: Test - run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.0 + run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.0 define=CI_SUPPRESS_KNOWN_ISSUES working-directory: ../boost-root/libs/type_traits/test windows_msvc_14_2: runs-on: windows-latest @@ -377,5 +377,5 @@ jobs: run: config_info_travis working-directory: ../boost-root/libs/config/test - name: Test - run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.2 + run: ..\..\..\b2 --hash cxxstd=${{ matrix.standard }} toolset=msvc-14.2 define=CI_SUPPRESS_KNOWN_ISSUES working-directory: ../boost-root/libs/type_traits/test diff --git a/include/boost/type_traits/is_convertible.hpp b/include/boost/type_traits/is_convertible.hpp index 8e73d9b..f873ef6 100644 --- a/include/boost/type_traits/is_convertible.hpp +++ b/include/boost/type_traits/is_convertible.hpp @@ -489,7 +489,7 @@ struct is_convertible : public integral_constant struct is_convertible : public integral_constant { -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1900) +#if defined(BOOST_MSVC) BOOST_STATIC_ASSERT_MSG(boost::is_complete::value || boost::is_void::value || boost::is_array::value || boost::is_reference::value, "From argument type to is_convertible must be a complete type"); #endif #if defined(__clang__) diff --git a/test/has_equal_to_test.cpp b/test/has_equal_to_test.cpp index b3eb4c7..39a7ff2 100644 --- a/test/has_equal_to_test.cpp +++ b/test/has_equal_to_test.cpp @@ -223,7 +223,7 @@ void specific() { // There are some things that pass that wouldn't otherwise do so: auto f = []() {}; auto f2 = [](double)->int { return 2; }; -#ifndef BOOST_MSVC +#if !defined(BOOST_MSVC) || (_MSC_FULL_VER >= 192829333) TEST_TR(decltype(f), bool, true); TEST_TR(decltype(f2), bool, true); #else diff --git a/test/has_not_equal_to_test.cpp b/test/has_not_equal_to_test.cpp index 0b097cb..ea4a5ad 100644 --- a/test/has_not_equal_to_test.cpp +++ b/test/has_not_equal_to_test.cpp @@ -223,7 +223,7 @@ void specific() { // There are some things that pass that wouldn't otherwise do so: auto f = []() {}; auto f2 = [](double)->int { return 2; }; -#ifndef BOOST_MSVC +#if !defined(BOOST_MSVC) || (_MSC_FULL_VER >= 192829333) TEST_TR(decltype(f), bool, true); TEST_TR(decltype(f2), bool, true); #else