diff --git a/src/core/include/mp-units/framework/quantity.h b/src/core/include/mp-units/framework/quantity.h index 7e404ce1..936c227e 100644 --- a/src/core/include/mp-units/framework/quantity.h +++ b/src/core/include/mp-units/framework/quantity.h @@ -70,7 +70,7 @@ concept QuantityConvertibleTo = ValuePreservingTo && // TODO consider providing constraints of sudo_cast here rather than testing if it can be called (its return type is // deduced thus the function is evaluated here and may emit truncating conversion or other warnings) - requires(QFrom q) { detail::sudo_cast(q); }; + requires(QFrom q) { sudo_cast(q); }; template concept InvokeResultOf = std::regular_invocable && RepresentationOf, Ch>; @@ -95,12 +95,12 @@ concept CommonlyInvocableQuantities = InvocableQuantities; template - requires detail::CommonlyInvocableQuantities + requires CommonlyInvocableQuantities using common_quantity_for = quantity>; template -concept SameValueAs = detail::SameReference && std::same_as; +concept SameValueAs = SameReference && std::same_as; template using quantity_like_type = quantity::reference, typename quantity_like_traits::rep>; @@ -573,9 +573,11 @@ public: }; // CTAD -template - requires RepresentationOf -quantity(Value v, R) -> quantity; +template +explicit(false) quantity(Value v, R) -> quantity; + +template +explicit(false) quantity(Value) -> quantity; template explicit(