diff --git a/src/core/include/mp-units/framework/quantity_spec.h b/src/core/include/mp-units/framework/quantity_spec.h index f086e703..fe5cc052 100644 --- a/src/core/include/mp-units/framework/quantity_spec.h +++ b/src/core/include/mp-units/framework/quantity_spec.h @@ -1350,13 +1350,11 @@ template }; if constexpr ((NamedQuantitySpec && NamedQuantitySpec) || get_complexity(From{}) == get_complexity(To{})) - return convertible_impl(from_kind, to_kind); + return exploded_kind_result(convertible_impl(from_kind, to_kind)); else if constexpr (get_complexity(From{}) > get_complexity(To{})) - return exploded_kind_result( - convertible_impl(get_kind_tree_root(explode(from_kind).quantity), to_kind)); + return exploded_kind_result(convertible_impl(explode(from_kind).quantity, to_kind)); else - return exploded_kind_result( - convertible_impl(from_kind, get_kind_tree_root(explode(to_kind).quantity))); + return exploded_kind_result(convertible_impl(from_kind, explode(to_kind).quantity)); } template