@@ -306,7 +306,8 @@ class quantity {
306306 template <auto R2, typename Rep2>
307307 requires detail::QuantityConstructibleFrom<quantity, quantity<R2, Rep2>> && (equivalent(unit, get_unit(R2)))
308308 // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
309- constexpr explicit (!mp_units::implicitly_convertible(get_quantity_spec(R2), quantity_spec) ||
309+ constexpr explicit (!std::convertible_to<Rep2, rep> ||
310+ !mp_units::implicitly_convertible(get_quantity_spec(R2), quantity_spec) ||
310311 !mp_units::implicitly_scalable<get_unit(R2), Rep2, unit, rep>)
311312 quantity(const quantity<R2, Rep2>& q) :
312313 numerical_value_is_an_implementation_detail_(q.numerical_value_in(q.unit))
@@ -316,7 +317,8 @@ class quantity {
316317 template <auto R2, typename Rep2>
317318 requires detail::QuantityConstructibleFrom<quantity, quantity<R2, Rep2>> && (!equivalent(unit, get_unit(R2)))
318319 // NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
319- constexpr explicit (!mp_units::implicitly_convertible(get_quantity_spec(R2), quantity_spec) ||
320+ constexpr explicit (!std::convertible_to<Rep2, rep> ||
321+ !mp_units::implicitly_convertible(get_quantity_spec(R2), quantity_spec) ||
320322 !mp_units::implicitly_scalable<get_unit(R2), Rep2, unit, rep>)
321323 quantity(const quantity<R2, Rep2>& q) :
322324 quantity(detail::sudo_cast<quantity>(q))
0 commit comments