about summary refs log tree commit diff
path: root/tests/ui/traits/trait-method-signature-mismatch.rs
blob: 118aff69e4e6ba771fac97acb14780ae64239b30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//! 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() {}