error[E0277]: the trait bound `{integer}: Scalar` is not satisfied --> $DIR/issue-22645.rs:25:5 | LL | b + 3 //~ ERROR E0277 | ^ the trait `Scalar` is not implemented for `{integer}` | = help: the following implementations were found: = note: required because of the requirements on the impl of `std::ops::Add<{integer}>` for `Bob` error[E0308]: mismatched types --> $DIR/issue-22645.rs:25:3 | LL | fn main() { | - expected `()` because of default return type LL | let b = Bob + 3.5; LL | b + 3 //~ ERROR E0277 | ^^^^^ expected (), found struct `Bob` | = note: expected type `()` found type `Bob` error: aborting due to 2 previous errors You've got a few errors: E0277, E0308 If you want more information on an error, try using "rustc --explain E0277"