diff --git a/src/include/units/quantity.h b/src/include/units/quantity.h index ad7b08ee..ff547d47 100644 --- a/src/include/units/quantity.h +++ b/src/include/units/quantity.h @@ -135,11 +135,21 @@ namespace units { return cast::cast(q); } - template + template constexpr quantity quantity_cast(const quantity& q) { return quantity_cast>(q); } + template + constexpr quantity quantity_cast(const quantity& q) + { + return quantity_cast>(q); + } + template + constexpr quantity quantity_cast(const quantity& q) + { + return quantity_cast>(q); + } // quantity_values diff --git a/test/unit_test/test_quantity.cpp b/test/unit_test/test_quantity.cpp index e7bd28d7..fb8e88a5 100644 --- a/test/unit_test/test_quantity.cpp +++ b/test/unit_test/test_quantity.cpp @@ -62,6 +62,10 @@ namespace units { namespace std { + template + struct common_type, my_value> : common_type { + }; + template struct common_type, U> : common_type { };