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