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