1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
use std::ops::Add; trait Scalar {} impl Scalar for f64 {} struct Bob; impl<RHS: Scalar> Add <RHS> for Bob { type Output = Bob; fn add(self, rhs : RHS) -> Bob { Bob } } fn main() { let b = Bob + 3.5; b + 3 //~ ERROR E0277 //~^ ERROR: mismatched types }