blob: 404717ff55e5ec818dac19ebf0e1d068af45cb46 [file] [log] [blame]
error[E0623]: lifetime mismatch
--> $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 | {
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
|
= note: expected reference `&MyBox<(dyn SomeTrait + 'static)>`
found reference `&MyBox<(dyn SomeTrait + 'a)>`
note: the lifetime `'a` as defined on the function body at 30:10...
--> $DIR/object-lifetime-default-mybox.rs:30:10
|
LL | fn load2<'a>(ss: &MyBox<dyn SomeTrait + 'a>) -> MyBox<dyn SomeTrait + 'a> {
| ^^
= note: ...does not necessarily outlive the static lifetime
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0308, E0623.
For more information about an error, try `rustc --explain E0308`.