error[E0495]: cannot infer an appropriate lifetime for automatic coercion due to conflicting requirements --> $DIR/object-lifetime-default-elision.rs:71:5 | LL | ss | ^^ | note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 54:10... --> $DIR/object-lifetime-default-elision.rs:54:10 | LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { | ^^ note: ...so that reference does not outlive borrowed content --> $DIR/object-lifetime-default-elision.rs:71:5 | LL | ss | ^^ note: but, the lifetime must be valid for the lifetime `'b` as defined on the function body at 54:13... --> $DIR/object-lifetime-default-elision.rs:54:13 | LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { | ^^ note: ...so that the expression is assignable --> $DIR/object-lifetime-default-elision.rs:71:5 | LL | ss | ^^ = note: expected `&'b (dyn SomeTrait + 'b)` found `&dyn SomeTrait` error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements --> $DIR/object-lifetime-default-elision.rs:71:5 | LL | ss | ^^ | note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 54:10... --> $DIR/object-lifetime-default-elision.rs:54:10 | LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { | ^^ note: ...so that the declared lifetime parameter bounds are satisfied --> $DIR/object-lifetime-default-elision.rs:71:5 | LL | ss | ^^ note: but, the lifetime must be valid for the lifetime `'b` as defined on the function body at 54:13... --> $DIR/object-lifetime-default-elision.rs:54:13 | LL | fn load3<'a,'b>(ss: &'a dyn SomeTrait) -> &'b dyn SomeTrait { | ^^ note: ...so that the expression is assignable --> $DIR/object-lifetime-default-elision.rs:71:5 | LL | ss | ^^ = note: expected `&'b (dyn SomeTrait + 'b)` found `&dyn SomeTrait` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0495`.