| //! This test verifies that implementing a trait method with a signature that does not | |
| //! exactly match its declaration in the trait results in a compilation error. | |
| //! Specifically, it checks for errors when the number of parameters or the return type | |
| //! in the `impl` differs from the trait definition. | |
| trait Foo { | |
| fn foo(&mut self, x: i32, y: i32) -> i32; | |
| } | |
| impl Foo for i32 { | |
| fn foo( | |
| &mut self, //~ ERROR method `foo` has 2 parameters but the declaration | |
| x: i32, | |
| ) { | |
| } | |
| } | |
| fn main() {} |