| error[E0478]: lifetime bound not satisfied |
| --> $DIR/regions-trait-object-subtyping.rs:15:5 |
| | |
| LL | x |
| | ^ |
| | |
| note: lifetime parameter instantiated with the lifetime `'a` as defined on the function body at 13:9 |
| --> $DIR/regions-trait-object-subtyping.rs:13:9 |
| | |
| LL | fn foo3<'a,'b>(x: &'a mut dyn Dummy) -> &'b mut dyn Dummy { |
| | ^^ |
| note: but lifetime parameter must outlive the lifetime `'b` as defined on the function body at 13:12 |
| --> $DIR/regions-trait-object-subtyping.rs:13:12 |
| | |
| LL | fn foo3<'a,'b>(x: &'a mut dyn Dummy) -> &'b mut dyn Dummy { |
| | ^^ |
| |
| error[E0495]: cannot infer an appropriate lifetime for automatic coercion due to conflicting requirements |
| --> $DIR/regions-trait-object-subtyping.rs:15:5 |
| | |
| LL | x |
| | ^ |
| | |
| note: first, the lifetime cannot outlive the lifetime `'a` as defined on the function body at 13:9... |
| --> $DIR/regions-trait-object-subtyping.rs:13:9 |
| | |
| LL | fn foo3<'a,'b>(x: &'a mut dyn Dummy) -> &'b mut dyn Dummy { |
| | ^^ |
| note: ...so that reference does not outlive borrowed content |
| --> $DIR/regions-trait-object-subtyping.rs:15:5 |
| | |
| LL | x |
| | ^ |
| note: but, the lifetime must be valid for the lifetime `'b` as defined on the function body at 13:12... |
| --> $DIR/regions-trait-object-subtyping.rs:13:12 |
| | |
| LL | fn foo3<'a,'b>(x: &'a mut dyn Dummy) -> &'b mut dyn Dummy { |
| | ^^ |
| = note: ...so that the expression is assignable: |
| expected &'b mut (dyn Dummy + 'b) |
| found &mut (dyn Dummy + 'b) |
| |
| error[E0308]: mismatched types |
| --> $DIR/regions-trait-object-subtyping.rs:22:5 |
| | |
| LL | x |
| | ^ lifetime mismatch |
| | |
| = note: expected struct `Wrapper<&'b mut (dyn Dummy + 'b)>` |
| found struct `Wrapper<&'a mut (dyn Dummy + 'a)>` |
| note: the lifetime `'b` as defined on the function body at 20:15... |
| --> $DIR/regions-trait-object-subtyping.rs:20:15 |
| | |
| LL | fn foo4<'a:'b,'b>(x: Wrapper<&'a mut dyn Dummy>) -> Wrapper<&'b mut dyn Dummy> { |
| | ^^ |
| note: ...does not necessarily outlive the lifetime `'a` as defined on the function body at 20:9 |
| --> $DIR/regions-trait-object-subtyping.rs:20:9 |
| | |
| LL | fn foo4<'a:'b,'b>(x: Wrapper<&'a mut dyn Dummy>) -> Wrapper<&'b mut dyn Dummy> { |
| | ^^ |
| |
| error: aborting due to 3 previous errors |
| |
| Some errors have detailed explanations: E0308, E0478, E0495. |
| For more information about an error, try `rustc --explain E0308`. |