fix: gcc-12 compilation fixed

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

No files matched your search

@@ -48,9 +48,11 @@ template<typename T>
concept SymbolicArg = (!std::is_const_v<T>) && (!std::is_reference_v<T>);
template<typename T>
concept SymbolicConstant =
SymbolicArg<T> && std::is_empty_v<T> && std::is_trivial_v<T> && std::semiregular<T> && std::is_final_v<T>;
concept SymbolicConstant = SymbolicArg<T> && std::is_empty_v<T> && std::is_trivial_v<T> &&
#if !MP_UNITS_COMP_GCC || MP_UNITS_COMP_GCC > 12
std::semiregular<T> &&
#endif
std::is_final_v<T>;
/**
* @brief Type list type used by the expression template framework
@@ -117,8 +117,8 @@ concept ChildQuantitySpecOf = (is_child_of(Child, Parent));
template<auto To, auto From>
concept NestedQuantityKindSpecOf =
QuantitySpec<decltype(From)> && QuantitySpec<decltype(To)> && (!SameQuantitySpec<get_kind(From), get_kind(To)>) &&
ChildQuantitySpecOf<To, get_kind(From)._quantity_spec_>;
QuantitySpec<MP_UNITS_REMOVE_CONST(decltype(From))> && QuantitySpec<MP_UNITS_REMOVE_CONST(decltype(To))> &&
(!SameQuantitySpec<get_kind(From), get_kind(To)>) && ChildQuantitySpecOf<To, get_kind(From)._quantity_spec_>;
template<auto From, auto To>
concept QuantitySpecConvertibleTo =