warning: elided lifetime has a name --> $DIR/object-lifetime-default-elision.rs:48:40 | LL | fn load2<'a>(ss: &'a dyn SomeTrait) -> &dyn SomeTrait { | -- ^ this elided lifetime gets resolved as `'a` | | | lifetime `'a` declared here | = note: `#[warn(elided_named_lifetimes)]` on by default error: lifetime may not live long enough --> $DIR/object-lifetime-default-elision.rs:73:5 | LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { | -- -- lifetime `'b` defined here | | | lifetime `'a` defined here ... LL | ss | ^^ function was supposed to return data with lifetime `'b` but it is returning data with lifetime `'a` | = help: consider adding the following bound: `'a: 'b` error: aborting due to 1 previous error; 1 warning emitted