diff --git a/src/core/include/units/quantity_kind.h b/src/core/include/units/quantity_kind.h index a9357e3d..d378a3a8 100644 --- a/src/core/include/units/quantity_kind.h +++ b/src/core/include/units/quantity_kind.h @@ -300,9 +300,8 @@ template QK2> return detail::make_quantity_kind(lhs.common() - rhs.common()); } -template - requires Quantity || Reference -[[nodiscard]] constexpr QuantityKind auto operator*(const QK& lhs, const QuantityOrReference& rhs) +template +[[nodiscard]] constexpr QuantityKind auto operator*(const QK& lhs, const Q& rhs) requires requires { lhs.common() * rhs; } { return detail::downcasted_kind(lhs.common() * rhs); @@ -322,13 +321,11 @@ template QK2> return detail::downcasted_kind(lhs.common() * rhs.common()); } -template - requires Quantity || Reference -[[nodiscard]] constexpr QuantityKind auto operator/(const QK& lhs, const QuantityOrReference& rhs) +template +[[nodiscard]] constexpr QuantityKind auto operator/(const QK& lhs, const Q& rhs) requires requires { lhs.common() / rhs; } { - if constexpr (Quantity) - gsl_ExpectsAudit(rhs.count() != quantity_values::zero()); + gsl_ExpectsAudit(rhs.count() != quantity_values::zero()); return detail::downcasted_kind(lhs.common() / rhs); }