···11# Changelog
2233+## Next
44+- Fix `^` allowing numbers to be raised to the power of units
55+36## 3.1.0 - 2025 Jun 20
47- Add FLOP and FLOPS units
58- Update `fastnum` dependency
-11
src/units.rs
···832832 // x km ^ 3
833833 let result = (left.value * left.unit.weight()).pow(right.value);
834834 Ok(to_ideal_unit(Number::new(result, CubicMillimeter)))
835835- } else if lcat == Length && rcat == Length && right.value == d!(1) {
836836- // x km ^ 1 km
837837- Ok(multiply(left, right)?)
838838- } else if lcat == Length && rcat == Length && right.value == d!(2) {
839839- // x km ^ 2 km
840840- let pow2 = multiply(left, Number::new(d!(1), right.unit))?;
841841- let pow3 = multiply(pow2, Number::new(d!(1), right.unit))?;
842842- Ok(pow3)
843843- } else if lcat == Length && rcat == Area && right.value == d!(1) {
844844- // x km ^ km2
845845- Ok(multiply(left, Number::new(d!(1), right.unit))?)
846835 } else {
847836 Err(format!("Cannot multiply {:?} and {:?}", left.unit, right.unit))
848837 }