extern crate yaiouom; use yaiouom::*; use yaiouom::si::*; trait Distance: Unit {} trait Duration: Unit {} impl Distance for Meter {} impl Duration for Second {} fn get_speed_bad(distance: Measure, duration: Measure) -> Measure>> { (distance / duration) //~ERROR .unify::>>() //~^ERROR .unify() } fn main() { let distance = Meter::new(1.0); let duration = Second::new(1.0); let _ = get_speed_bad(distance, duration); }