error[E0495]: cannot infer an appropriate lifetime for autoref due to conflicting requirements --> $DIR/region-object-lifetime-2.rs:20:7 | LL | x.borrowed() //~ ERROR cannot infer | ^^^^^^^^ | note: first, the lifetime cannot outlive the lifetime 'a as defined on the function body at 19:42... --> $DIR/region-object-lifetime-2.rs:19:42 | LL | fn borrowed_receiver_different_lifetimes<'a,'b>(x: &'a Foo) -> &'b () { | ^^ note: ...so that the type `(dyn Foo + 'a)` is not borrowed for too long --> $DIR/region-object-lifetime-2.rs:20:5 | LL | x.borrowed() //~ ERROR cannot infer | ^ note: but, the lifetime must be valid for the lifetime 'b as defined on the function body at 19:45... --> $DIR/region-object-lifetime-2.rs:19:45 | LL | fn borrowed_receiver_different_lifetimes<'a,'b>(x: &'a Foo) -> &'b () { | ^^ note: ...so that reference does not outlive borrowed content --> $DIR/region-object-lifetime-2.rs:20:5 | LL | x.borrowed() //~ ERROR cannot infer | ^^^^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0495`.