Function rustc::middle::ty::struct_lockstep_tailsUnstable [-] [+] [src]

pub fn struct_lockstep_tails<'tcx>(cx: &ctxt<'tcx>, source: Ty<'tcx>, target: Ty<'tcx>) -> (Ty<'tcx>, Ty<'tcx>)

Same as applying struct_tail on source and target, but only keeps going as long as the two types are instances of the same structure definitions. For (Foo<Foo<T>>, Foo<Trait>), the result will be (Foo<T>, Trait), whereas struct_tail produces T, and Trait, respectively.