Trait rustc_lint::middle::ty::ClosureTyperUnstable
[-] [+]
[src]
pub trait ClosureTyper<'tcx> { fn param_env(&'a self) -> &'a ParameterEnvironment<'a, 'tcx>; fn closure_kind(&self, def_id: DefId) -> Option<ClosureKind>; fn closure_type(&self, def_id: DefId, substs: &Substs<'tcx>) -> ClosureTy<'tcx>; fn closure_upvars(&self, def_id: DefId, substs: &Substs<'tcx>) -> Option<Vec<ClosureUpvar<'tcx>>>; fn tcx(&self) -> &ctxt<'tcx> { ... } }
Required Methods
fn param_env(&'a self) -> &'a ParameterEnvironment<'a, 'tcx>
fn closure_kind(&self, def_id: DefId) -> Option<ClosureKind>
Is this a Fn
, FnMut
or FnOnce
closure? During typeck,
returns None
if the kind of this closure has not yet been
inferred.
fn closure_type(&self, def_id: DefId, substs: &Substs<'tcx>) -> ClosureTy<'tcx>
Returns the argument/return types of this closure.
fn closure_upvars(&self, def_id: DefId, substs: &Substs<'tcx>) -> Option<Vec<ClosureUpvar<'tcx>>>
Returns the set of all upvars and their transformed
types. During typeck, maybe return None
if the upvar types
have not yet been inferred.
Provided Methods
Implementors
impl<'a, 'tcx> ClosureTyper<'tcx> for ParameterEnvironment<'a, 'tcx>