Arguably, when we do 1.0f0u"m", the floating point backing type should remain Float32 rather than being converted to Float64:
julia> (1.0f0u"m").value
1.0
In general, there's a question of what type we should choose for the quantity value. In theory, we could even keep integers as integers, i.e. 1u"m" would remain 1 m. But perhaps we would want to enforce floating point, in which case something like float(T) might make sense.
Arguably, when we do
1.0f0u"m", the floating point backing type should remainFloat32rather than being converted toFloat64:In general, there's a question of what type we should choose for the quantity value. In theory, we could even keep integers as integers, i.e.
1u"m"would remain1 m. But perhaps we would want to enforce floating point, in which case something likefloat(T)might make sense.