-
Notifications
You must be signed in to change notification settings - Fork 12.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
7 additions
and
18 deletions.
There are no files selected for viewing
25 changes: 7 additions & 18 deletions
25
src/test/ui/in-band-lifetimes/mismatched_trait_impl.nll.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,14 @@ | ||
error[E0495]: cannot infer an appropriate lifetime for lifetime parameter 'a in generic type due to conflicting requirements | ||
error: `impl` item signature doesn't match `trait` item signature | ||
--> $DIR/mismatched_trait_impl.rs:9:5 | ||
| | ||
LL | fn foo(&self, x: &'a u32, y: &u32) -> &'a u32; | ||
| ---------------------------------------------- expected fn(&i32, &'a u32, &u32) -> &'a u32 | ||
... | ||
LL | fn foo(&self, x: &u32, y: &'a u32) -> &'a u32 { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ found fn(&i32, &u32, &u32) -> &u32 | ||
| | ||
note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the method body at 9:5... | ||
--> $DIR/mismatched_trait_impl.rs:9:5 | ||
| | ||
LL | / fn foo(&self, x: &u32, y: &'a u32) -> &'a u32 { | ||
LL | | x | ||
LL | | } | ||
| |_____^ | ||
note: ...but the lifetime must also be valid for the lifetime `'a` as defined on the method body at 9:32... | ||
--> $DIR/mismatched_trait_impl.rs:9:32 | ||
| | ||
LL | fn foo(&self, x: &u32, y: &'a u32) -> &'a u32 { | ||
| ^^ | ||
= note: ...so that the method type is compatible with trait: | ||
expected fn(&i32, &'a u32, &u32) -> &'a u32 | ||
found fn(&i32, &u32, &u32) -> &u32 | ||
= note: expected `fn(&i32, &'a u32, &u32) -> &'a u32` | ||
found `fn(&i32, &u32, &u32) -> &u32` | ||
|
||
error: aborting due to previous error | ||
|
||
For more information about this error, try `rustc --explain E0495`. |