Struct rustc_lint::middle::ty_walk::TypeWalkerUnstable [-] [+] [src]

pub struct TypeWalker<'tcx> {
    // some fields omitted
}

Methods

impl<'tcx> TypeWalker<'tcx>

fn new(ty: &'tcx TyS<'tcx>) -> TypeWalker<'tcx>

fn skip_current_subtree(&mut self)

Skips the subtree of types corresponding to the last type returned by next().

Example: Imagine you are walking Foo<Bar<int>, usize>.

let mut iter: TypeWalker = ...;
iter.next(); // yields Foo
iter.next(); // yields Bar<int>
iter.skip_current_subtree(); // skips int
iter.next(); // yields usize

Trait Implementations

impl<'tcx> Iterator for TypeWalker<'tcx>

type Item = &'tcx TyS<'tcx>

fn next(&mut self) -> Option<&'tcx TyS<'tcx>>