diff --git a/tests/span_compatibility_tests.cpp b/tests/span_compatibility_tests.cpp index b1be4cb..e8981d1 100644 --- a/tests/span_compatibility_tests.cpp +++ b/tests/span_compatibility_tests.cpp @@ -42,14 +42,14 @@ static_assert(std::is_convertible::value, "std::is_convertible< static_assert(!std::is_convertible::value, "!std::is_convertible"); -// int*(*) [], int const* const(*)[] was identified as an issue in CWG330 and the resolution was provided with N4261 -// The changes were not backported to all versions of the compilers that GSL supports. -// The `if constexpr` should prevent codegen from happening if it is not supported however a few compilers continue to complain about the logic within. -// Filtering g++ version < 8, clang version < 7, and XCode 9.4 and 10.1 which looks to be Apple clang versions 9.1 and 10.0. -#if (defined(_MSC_VER)) || \ -(defined(__GNUC__) && __GNUC__ > 7) || \ -(defined(__APPLE__) && defined(__clang_major__) && __clang_major__ > 10 ) || \ -(!defined(__APPLE__) && defined(__clang__) && __clang_major__ > 6) +// int*(*) [], int const* const(*)[] was identified as an issue in CWG330 and the resolution was +// provided with N4261. The changes were not backported to all versions of the compilers that GSL +// supports. The `if constexpr` should prevent codegen from happening if it is not supported however +// a few compilers continue to complain about the logic within. Filtering g++ version < 8, clang +// version < 7, and XCode 9.4 and 10.1 which looks to be Apple clang versions 9.1 and 10.0. +#if (defined(_MSC_VER)) || (defined(__GNUC__) && __GNUC__ > 7) || \ + (defined(__APPLE__) && defined(__clang_major__) && __clang_major__ > 10) || \ + (!defined(__APPLE__) && defined(__clang__) && __clang_major__ > 6) template void ArrayConvertibilityCheck() { @@ -65,18 +65,19 @@ void ArrayConvertibilityCheck() EXPECT_TRUE(sp_const_nullptr_2.data() == stl_nullptr.data()); EXPECT_TRUE(sp_const_nullptr_2.size() == 3); - static_assert(std::is_same>::value, - "std::is_same< decltype(span{stl_nullptr}), span>::value"); - static_assert( - std::is_same>::value, - "std::is_same< decltype(span{std::as_const(stl_nullptr)}), span>::value"); + static_assert(std::is_same>::value, + "std::is_same< decltype(span{stl_nullptr}), span>::value"); + static_assert( + std::is_same>::value, + "std::is_same< decltype(span{std::as_const(stl_nullptr)}), span>::value"); } #endif } #else template -void ArrayConvertibilityCheck(){} +void ArrayConvertibilityCheck() +{} #endif TEST(span_compatibility_tests, assertion_tests)