diff --git a/src/core/include/mp-units/bits/sudo_cast.h b/src/core/include/mp-units/bits/sudo_cast.h index 3b489088..478c8b86 100644 --- a/src/core/include/mp-units/bits/sudo_cast.h +++ b/src/core/include/mp-units/bits/sudo_cast.h @@ -108,7 +108,9 @@ template; using multiplier_type = typename type_traits::multiplier_type; - auto scale = [&](std::invocable auto func) { + // TODO the below crashed nearly every compiler I tried it on + // auto scale = [&](std::invocable auto func) { + auto scale = [&](auto func) { auto res = static_cast(func(static_cast(q.numerical_value_is_an_implementation_detail_))); return To{res, To::reference};