Give up on implicit conversion

I don't understand what MSVC is complaining about, and it may end up
being easier to just make the conversion explicit.
This commit is contained in:
Chip Hogg committed 2022-04-06 01:40:17 +00:00
1 parent f77a92ca04
commit b616e58216
2 files changed
+7 -9

No files matched your search

+5 -7
View File
@@ -517,16 +517,14 @@ constexpr auto numerator(magnitude<BPs...>)
constexpr auto denominator(Magnitude auto m) { return numerator(pow<-1>(m)); }
// Implementation of implicit conversion to ratio goes here, because it needs `numerator()` and `denominator()`.
template<BasePower auto... BPs>
requires detail::is_base_power_pack_valid<BPs...>
constexpr magnitude<BPs...>::operator ratio() const
// Implementation of conversion to ratio goes here, because it needs `numerator()` and `denominator()`.
constexpr ratio as_ratio(Magnitude auto m)
{
static_assert(is_rational(magnitude<BPs...>{}));
static_assert(is_rational(m));
return ratio{
get_value<std::intmax_t>(numerator(*this)),
get_value<std::intmax_t>(denominator(*this)),
get_value<std::intmax_t>(numerator(m)),
get_value<std::intmax_t>(denominator(m)),
};
}