| error[E0308]: mismatched types |
| --> $DIR/issue-20831-debruijn.rs:28:5 |
| | |
| LL | / fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| LL | | // Not obvious, but there is an implicit lifetime here -------^ |
| LL | | |
| LL | | |
| ... | |
| LL | | self.sub = t; |
| LL | | } |
| | |_____^ lifetime mismatch |
| | |
| = note: expected type `'a` |
| found type `'_` |
| note: the anonymous lifetime #2 defined on the method body at 28:5... |
| --> $DIR/issue-20831-debruijn.rs:28:5 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...does not necessarily outlive the lifetime `'a` as defined on the impl at 26:6 |
| --> $DIR/issue-20831-debruijn.rs:26:6 |
| | |
| LL | impl<'a> Publisher<'a> for MyStruct<'a> { |
| | ^^ |
| |
| error[E0308]: mismatched types |
| --> $DIR/issue-20831-debruijn.rs:28:5 |
| | |
| LL | / fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| LL | | // Not obvious, but there is an implicit lifetime here -------^ |
| LL | | |
| LL | | |
| ... | |
| LL | | self.sub = t; |
| LL | | } |
| | |_____^ lifetime mismatch |
| | |
| = note: expected type `'a` |
| found type `'_` |
| note: the lifetime `'a` as defined on the impl at 26:6... |
| --> $DIR/issue-20831-debruijn.rs:26:6 |
| | |
| LL | impl<'a> Publisher<'a> for MyStruct<'a> { |
| | ^^ |
| note: ...does not necessarily outlive the anonymous lifetime #2 defined on the method body at 28:5 |
| --> $DIR/issue-20831-debruijn.rs:28:5 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements |
| --> $DIR/issue-20831-debruijn.rs:28:33 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the method body at 28:5... |
| --> $DIR/issue-20831-debruijn.rs:28:5 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...but the lifetime must also be valid for the lifetime `'a` as defined on the impl at 26:6... |
| --> $DIR/issue-20831-debruijn.rs:26:6 |
| | |
| LL | impl<'a> Publisher<'a> for MyStruct<'a> { |
| | ^^ |
| note: ...so that the types are compatible |
| --> $DIR/issue-20831-debruijn.rs:28:33 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: expected `Publisher<'_>` |
| found `Publisher<'_>` |
| |
| error[E0495]: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements |
| --> $DIR/issue-20831-debruijn.rs:28:33 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the method body at 28:5... |
| --> $DIR/issue-20831-debruijn.rs:28:5 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...but the lifetime must also be valid for the lifetime `'a` as defined on the impl at 26:6... |
| --> $DIR/issue-20831-debruijn.rs:26:6 |
| | |
| LL | impl<'a> Publisher<'a> for MyStruct<'a> { |
| | ^^ |
| note: ...so that the types are compatible |
| --> $DIR/issue-20831-debruijn.rs:28:33 |
| | |
| LL | fn subscribe(&mut self, t : Box<dyn Subscriber<Input=<Self as Publisher>::Output> + 'a>) { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: expected `Publisher<'_>` |
| found `Publisher<'_>` |
| |
| error: aborting due to 4 previous errors |
| |
| Some errors have detailed explanations: E0308, E0495. |
| For more information about an error, try `rustc --explain E0308`. |