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