| 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`. |