error[E0053]: method `foo` has an incompatible type for trait --> $DIR/E0053.rs:9:15 | LL | fn foo(x: i16) { } | ^^^ | | | expected `u16`, found `i16` | help: change the parameter type to match the trait: `u16` | note: type in trait --> $DIR/E0053.rs:2:15 | LL | fn foo(x: u16); | ^^^ = note: expected signature `fn(u16)` found signature `fn(i16)` error[E0053]: method `bar` has an incompatible type for trait --> $DIR/E0053.rs:11:12 | LL | fn bar(&mut self) { } | ^^^^^^^^^ | | | types differ in mutability | help: change the self-receiver type to match the trait: `&self` | note: type in trait --> $DIR/E0053.rs:3:12 | LL | fn bar(&self); | ^^^^^ = note: expected signature `fn(&Bar)` found signature `fn(&mut Bar)` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0053`.