diff --git a/src/core/include/mp-units/framework/quantity_spec.h b/src/core/include/mp-units/framework/quantity_spec.h index 89eae99e..5ba3b2cb 100644 --- a/src/core/include/mp-units/framework/quantity_spec.h +++ b/src/core/include/mp-units/framework/quantity_spec.h @@ -930,10 +930,9 @@ template constexpr auto qto = map_power(To{}); if constexpr (get_kind_tree_root(qfrom) == get_kind_tree_root(qto)) { if constexpr (is_specialization_of_power && is_specialization_of_power) - return extract_results{ - .same_kind = true, .from = typename From::factor{}, .to = typename To::factor{}, .prepend = prepend_rest::no}; + return extract_results{true, typename From::factor{}, typename To::factor{}, prepend_rest::no}; else - return extract_results{.same_kind = true, .from = qfrom, .to = qto, .prepend = prepend_rest::no}; + return extract_results{true, qfrom, qto, prepend_rest::no}; } else { auto normalize = [](Q) { if constexpr (is_specialization_of_power) @@ -948,19 +947,13 @@ template constexpr auto to_factor = std::get<0>(to_norm); constexpr auto to_exp = std::get<1>(to_norm); if constexpr (get_kind_tree_root(from_factor) != get_kind_tree_root(to_factor)) - return extract_results{.same_kind = false}; + return extract_results{false}; else if constexpr (from_exp > to_exp) - return extract_results{.same_kind = true, - .from = from_factor, - .to = to_factor, - .prepend = prepend_rest::first, - .elem = power_or_T{}}; + return extract_results{true, from_factor, to_factor, prepend_rest::first, + power_or_T{}}; else - return extract_results{.same_kind = true, - .from = from_factor, - .to = to_factor, - .prepend = prepend_rest::second, - .elem = power_or_T{}}; + return extract_results{true, from_factor, to_factor, prepend_rest::second, + power_or_T{}}; } }