error[E0700]: hidden type for `Step2<'a>` captures lifetime that does not appear in bounds --> $DIR/tait-hidden-erased-unsoundness-2.rs:28:9 | 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 | crate::step1::step1::<'a, 'b>() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0700`.