error[E0700]: hidden type for `Step2<'a>` captures lifetime that does not appear in bounds --> $DIR/tait-hidden-erased-unsoundness-2.rs:27:5 | LL | pub type Step2<'a> = impl Send + 'a; | -------------- opaque type defined here ... LL | pub fn step2<'a, 'b: 'a>() -> Step2<'a> | -- hidden type `Step1<'a, 'b>` captures the lifetime `'b` as defined here ... LL | step1::<'a, 'b>() | ^^^^^^^^^^^^^^^^^ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0700`.