fix: gcc-12 compilation fixed

Resolves #632
This commit is contained in:
Mateusz Pusz
2024-11-09 23:02:12 +01:00
parent 4db913a592
commit b4810089ec
4 changed files with 10 additions and 7 deletions

View File

@@ -86,7 +86,7 @@ static_assert(!std::convertible_to<min_impl<double>, quantity<si::metre, min_imp
// multiply syntax should work
template<typename T, auto U>
concept creates_quantity = Unit<decltype(U)> && requires { T{} * U; };
concept creates_quantity = Unit<MP_UNITS_REMOVE_CONST(decltype(U))> && requires { T{} * U; };
static_assert(creates_quantity<min_impl<int>, si::metre>);
static_assert(creates_quantity<min_impl<double>, si::metre>);

View File

@@ -61,7 +61,8 @@ static_assert(1 * Qm == 1'000'000'000'000'000'000 * Tm);
// check for invalid prefixes
template<template<typename U> typename prefix, auto V1>
concept can_not_be_prefixed = Unit<decltype(V1)> && !requires { typename prefix<decltype(V1)>; };
concept can_not_be_prefixed =
Unit<MP_UNITS_REMOVE_CONST(decltype(V1))> && !requires { typename prefix<MP_UNITS_REMOVE_CONST(decltype(V1))>; };
static_assert(can_not_be_prefixed<si::milli_, si::kilogram>);
static_assert(can_not_be_prefixed<si::milli_, si::hectare>);