]> git.proxmox.com Git - rustc.git/blobdiff - src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.stderr
Update unsuspicious file list
[rustc.git] / src / test / ui / lifetimes / lifetime-errors / ex3-both-anon-regions-self-is-anon.stderr
index a2ba41ef4f09af21f505c60b861ae0b0a910adf2..e221902c4a90724e2a41a6937c647be780dcafce 100644 (file)
@@ -1,13 +1,17 @@
-error[E0623]: lifetime mismatch
+error: lifetime may not live long enough
   --> $DIR/ex3-both-anon-regions-self-is-anon.rs:7:19
    |
 LL |     fn foo<'a>(&self, x: &Foo) -> &Foo {
-   |                          ----     ----
-   |                          |
-   |                          this parameter and the return type are declared with different lifetimes...
-LL |         if true { x } else { self } //~ ERROR lifetime mismatch
-   |                   ^ ...but data from `x` is returned here
+   |                -         - let's call the lifetime of this reference `'1`
+   |                |
+   |                let's call the lifetime of this reference `'2`
+LL |         if true { x } else { self }
+   |                   ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1`
+   |
+help: consider introducing a named lifetime parameter and update trait if needed
+   |
+LL |     fn foo<'a>(&'a self, x: &'a Foo) -> &Foo {
+   |                 ++           ++
 
 error: aborting due to previous error
 
-For more information about this error, try `rustc --explain E0623`.