]> git.proxmox.com Git - rustc.git/blobdiff - src/test/ui/object-lifetime/object-lifetime-default-mybox.stderr
New upstream version 1.63.0+dfsg1
[rustc.git] / src / test / ui / object-lifetime / object-lifetime-default-mybox.stderr
index 4c5fb452ebe4212582a251b36f43dc83892f14a3..a1ef0243e3a87a4ed90dacb17614af3d1252ab08 100644 (file)
@@ -1,31 +1,29 @@
-error[E0623]: lifetime mismatch
+error: lifetime may not live long enough
   --> $DIR/object-lifetime-default-mybox.rs:27:5
    |
 LL | fn load1<'a,'b>(a: &'a MyBox<dyn SomeTrait>,
-   |                    ------------------------ this parameter and the return type are declared with different lifetimes...
-LL |                 b: &'b MyBox<dyn SomeTrait>)
-LL |                 -> &'b MyBox<dyn SomeTrait>
-   |                    ------------------------
-LL | {
+   |          -- -- lifetime `'b` defined here
+   |          |
+   |          lifetime `'a` defined here
+...
 LL |     a
-   |     ^ ...but data from `a` is returned here
-
-error[E0308]: mismatched types
-  --> $DIR/object-lifetime-default-mybox.rs:31:11
-   |
-LL |     load0(ss)
-   |           ^^ lifetime mismatch
+   |     ^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a`
    |
-   = note: expected reference `&MyBox<(dyn SomeTrait + 'static)>`
-              found reference `&MyBox<(dyn SomeTrait + 'a)>`
-note: the lifetime `'a` as defined here...
-  --> $DIR/object-lifetime-default-mybox.rs:30:10
+   = help: consider adding the following bound: `'a: 'b`
+
+error[E0521]: borrowed data escapes outside of function
+  --> $DIR/object-lifetime-default-mybox.rs:32:5
    |
 LL | fn load2<'a>(ss: &MyBox<dyn SomeTrait + 'a>) -> MyBox<dyn SomeTrait + 'a> {
-   |          ^^
-   = note: ...does not necessarily outlive the static lifetime
+   |          --  -- `ss` is a reference that is only valid in the function body
+   |          |
+   |          lifetime `'a` defined here
+LL |     load0(ss)
+   |     ^^^^^^^^^
+   |     |
+   |     `ss` escapes the function body here
+   |     argument requires that `'a` must outlive `'static`
 
 error: aborting due to 2 previous errors
 
-Some errors have detailed explanations: E0308, E0623.
-For more information about an error, try `rustc --explain E0308`.
+For more information about this error, try `rustc --explain E0521`.