//! 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() {}