From 376c402fa004bb0b059f0337b190c06828f11632 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Johel=20Ernesto=20Guerrero=20Pe=C3=B1a?= Date: Thu, 18 Mar 2021 17:23:45 -0400 Subject: [PATCH] fix: remove implied support for unallowed syntaxes on quantity kinds and references --- src/core/include/units/quantity_kind.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) 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); }