1error[E0478]: lifetime bound not satisfied 2 --> $DIR/issue-88595.rs:19:5 3 | 4LL | type B<'b> = impl Clone; 5 | ^^^^^^^^^^^^^^^^^^^^^^^^ 6 | 7note: lifetime parameter instantiated with the lifetime `'a` as defined here 8 --> $DIR/issue-88595.rs:18:6 9 | 10LL | impl<'a> A<'a> for C { 11 | ^^ 12note: but lifetime parameter must outlive the lifetime `'b` as defined here 13 --> $DIR/issue-88595.rs:19:12 14 | 15LL | type B<'b> = impl Clone; 16 | ^^ 17 18error: non-defining opaque type use in defining scope 19 --> $DIR/issue-88595.rs:23:23 20 | 21LL | fn a(&'a self) -> Self::B<'a> {} 22 | ^^^^^^^^^^^ 23 | 24note: lifetime used multiple times 25 --> $DIR/issue-88595.rs:18:6 26 | 27LL | impl<'a> A<'a> for C { 28 | ^^ 29LL | type B<'b> = impl Clone; 30 | ^^ 31 32error: could not find defining uses 33 --> $DIR/issue-88595.rs:19:18 34 | 35LL | type B<'b> = impl Clone; 36 | ^^^^^^^^^^ 37 38error: aborting due to 3 previous errors 39 40For more information about this error, try `rustc --explain E0478`. 41