From 77e11173bf30149542397c91d26235111cfc37e7 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Sun, 6 Sep 2020 15:35:08 +0200 Subject: [PATCH] Unit tests compilation fixed on VS --- test/unit_test/static/quantity_point_test.cpp | 3 ++- test/unit_test/static/quantity_test.cpp | 2 +- test/unit_test/static/unit_test.cpp | 8 +++++--- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/test/unit_test/static/quantity_point_test.cpp b/test/unit_test/static/quantity_point_test.cpp index 48267bfc..b440a6cc 100644 --- a/test/unit_test/static/quantity_point_test.cpp +++ b/test/unit_test/static/quantity_point_test.cpp @@ -229,7 +229,7 @@ static_assert(quantity_point_cast(quantity_point(1.23q_m)).relative().count static_assert(quantity_point{1q_h} == quantity_point{3600q_s}); template -constexpr bool no_crossdimensional_equality = !requires +concept no_crossdimensional_equality = !requires { quantity_point(1q_s) == quantity_point(length(1)); }; @@ -238,6 +238,7 @@ static_assert(no_crossdimensional_equality); // length +static_assert(quantity_point(1q_km) != quantity_point(1q_m)); static_assert(quantity_point(1q_km) == quantity_point(1000q_m)); static_assert(quantity_point(1q_km) + 1q_m == quantity_point(1001q_m)); static_assert(1q_km + quantity_point(1q_m) == quantity_point(1001q_m)); diff --git a/test/unit_test/static/quantity_test.cpp b/test/unit_test/static/quantity_test.cpp index dcc9d7bf..eaf4832a 100644 --- a/test/unit_test/static/quantity_test.cpp +++ b/test/unit_test/static/quantity_test.cpp @@ -269,7 +269,7 @@ static_assert(quantity_cast(1.23q_m).count() == 1); static_assert(1q_h == 3600q_s); template -constexpr bool no_crossdimensional_equality = !requires { 1q_s == length(1); }; +concept no_crossdimensional_equality = !requires { 1q_s == length(1); }; static_assert(no_crossdimensional_equality); diff --git a/test/unit_test/static/unit_test.cpp b/test/unit_test/static/unit_test.cpp index f13d0ac6..b0c90abf 100644 --- a/test/unit_test/static/unit_test.cpp +++ b/test/unit_test/static/unit_test.cpp @@ -40,8 +40,9 @@ struct hour : named_scaled_unit { struct dim_time : base_dimension<"time", second> {}; struct kelvin : named_unit {}; -#if COMP_MSVC || COMP_GCC >= 10 -static_assert([](P) { return !requires { typename prefixed_unit; }; }(si::kilo{})); // negative unit ratio + +#if COMP_GCC >= 10 +static_assert([](P) { return !requires { typename prefixed_unit; }; }(si::kilo{})); // no prefix allowed #endif struct metre_per_second : unit {}; @@ -53,7 +54,8 @@ static_assert(is_same_v>, centimetr static_assert(is_same_v>, yard>); static_assert(is_same_v>, foot>); static_assert(is_same_v>, kilometre_per_hour>); -#if COMP_MSVC || COMP_GCC >= 10 + +#if COMP_GCC >= 10 static_assert([]() { return !requires { typename scaled_unit; }; }.template operator()()); // negative unit ratio #endif