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

pub fn struct_lockstep_tails(cx: &ctxt<'tcx>, source: &'tcx TyS<'tcx>, target: &'tcx TyS<'tcx>) -> (&'tcx TyS<'tcx>, &'tcx TyS<'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.