// build-pass trait Trait { type Ref<'a>; } impl Trait for () { type Ref<'a> = &'a i8; } struct RefRef<'a, T: Trait>(&'a ::Ref<'a>); fn wrap<'a, T: Trait>(reff: &'a ::Ref<'a>) -> RefRef<'a, T> { RefRef(reff) } fn main() {}