error[E0309]: the associated type `::T` may not live long enough --> $DIR/issue-86787.rs:23:5 | LL | / type TRef<'a> LL | | LL | | LL | | where LL | | ::T: 'a, LL | | ::T: 'a | | - help: consider adding a where clause: `, ::T: 'a` LL | | = Either<&'a Left::T, &'a Right::T>; | |________________________________________^ ...so that the definition in impl matches the definition from the trait error[E0309]: the associated type `::T` may not live long enough --> $DIR/issue-86787.rs:23:5 | LL | / type TRef<'a> LL | | LL | | LL | | where LL | | ::T: 'a, LL | | ::T: 'a | | - help: consider adding a where clause: `, ::T: 'a` LL | | = Either<&'a Left::T, &'a Right::T>; | |________________________________________^ ...so that the definition in impl matches the definition from the trait error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0309`.