|
1 | | -error[E0495]: cannot infer an appropriate lifetime for lifetime parameter 'a in generic type due to conflicting requirements |
| 1 | +error: `impl` item signature doesn't match `trait` item signature |
2 | 2 | --> $DIR/mismatched_trait_impl.rs:9:5 |
3 | 3 | | |
| 4 | +LL | fn foo(&self, x: &'a u32, y: &u32) -> &'a u32; |
| 5 | + | ---------------------------------------------- expected fn(&i32, &'a u32, &u32) -> &'a u32 |
| 6 | +... |
4 | 7 | LL | fn foo(&self, x: &u32, y: &'a u32) -> &'a u32 { |
5 | | - | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 8 | + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found fn(&i32, &u32, &u32) -> &u32 |
6 | 9 | | |
7 | | -note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the method body at 9:5... |
8 | | - --> $DIR/mismatched_trait_impl.rs:9:5 |
9 | | - | |
10 | | -LL | / fn foo(&self, x: &u32, y: &'a u32) -> &'a u32 { |
11 | | -LL | | x |
12 | | -LL | | } |
13 | | - | |_____^ |
14 | | -note: ...but the lifetime must also be valid for the lifetime `'a` as defined on the method body at 9:32... |
15 | | - --> $DIR/mismatched_trait_impl.rs:9:32 |
16 | | - | |
17 | | -LL | fn foo(&self, x: &u32, y: &'a u32) -> &'a u32 { |
18 | | - | ^^ |
19 | | - = note: ...so that the method type is compatible with trait: |
20 | | - expected fn(&i32, &'a u32, &u32) -> &'a u32 |
21 | | - found fn(&i32, &u32, &u32) -> &u32 |
| 10 | + = note: expected `fn(&i32, &'a u32, &u32) -> &'a u32` |
| 11 | + found `fn(&i32, &u32, &u32) -> &u32` |
22 | 12 |
|
23 | 13 | error: aborting due to previous error |
24 | 14 |
|
25 | | -For more information about this error, try `rustc --explain E0495`. |
0 commit comments