diff --git a/src/core/include/mp-units/quantity.h b/src/core/include/mp-units/quantity.h index ba362b48..91f37979 100644 --- a/src/core/include/mp-units/quantity.h +++ b/src/core/include/mp-units/quantity.h @@ -43,9 +43,6 @@ namespace mp_units { namespace detail { -template -using quantity_like_type = quantity::reference, typename quantity_like_traits::rep>; - template concept RepSafeConstructibleFrom = Unit> && std::constructible_from && (treat_as_floating_point || (!treat_as_floating_point> && @@ -142,8 +139,10 @@ public: } template - requires detail::QuantityConvertibleTo, quantity> - constexpr explicit quantity(const Q& q) : quantity(detail::quantity_like_type(quantity_like_traits::number(q))) + requires detail::QuantityConvertibleTo< + quantity::reference, typename quantity_like_traits::rep>, quantity> + constexpr explicit quantity(const Q& q) : + quantity(make_quantity::reference>(quantity_like_traits::number(q))) { }