[−][src]Enum rustc_middle::ty::ClosureKind
Represents the various closure traits in the language. This
will determine the type of the environment (self, in the
desugaring) argument that the closure expects.
You can get the environment type of a closure using
tcx.closure_env_ty().
Variants
Implementations
impl<'tcx> ClosureKind[src]
pub const LATTICE_BOTTOM: ClosureKind[src]
pub fn trait_did(&self, tcx: TyCtxt<'tcx>) -> DefId[src]
pub fn extends(self, other: ClosureKind) -> bool[src]
Returns true if this a type that impls this closure kind
must also implement other.
pub fn to_ty(self, tcx: TyCtxt<'tcx>) -> Ty<'tcx>[src]
Returns the representative scalar type for this closure kind.
See TyS::to_opt_closure_kind for more details.
Trait Implementations
impl Clone for ClosureKind[src]
fn clone(&self) -> ClosureKind[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Copy for ClosureKind[src]
impl Debug for ClosureKind[src]
impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for ClosureKind[src]
impl Display for ClosureKind[src]
impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for ClosureKind[src]
impl Eq for ClosureKind[src]
impl Hash for ClosureKind[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for ClosureKind[src]
fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
impl<'tcx> Lift<'tcx> for ClosureKind[src]
type Lifted = Self
fn lift_to_tcx(&self, _: TyCtxt<'tcx>) -> Option<Self>[src]
impl Ord for ClosureKind[src]
fn cmp(&self, other: &ClosureKind) -> Ordering[src]
#[must_use]fn max(self, other: Self) -> Self1.21.0[src]
#[must_use]fn min(self, other: Self) -> Self1.21.0[src]
#[must_use]fn clamp(self, min: Self, max: Self) -> Self[src]
impl PartialEq<ClosureKind> for ClosureKind[src]
fn eq(&self, other: &ClosureKind) -> bool[src]
#[must_use]fn ne(&self, other: &Rhs) -> bool1.0.0[src]
impl PartialOrd<ClosureKind> for ClosureKind[src]
fn partial_cmp(&self, other: &ClosureKind) -> Option<Ordering>[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn gt(&self, other: &Rhs) -> bool1.0.0[src]
#[must_use]fn ge(&self, other: &Rhs) -> bool1.0.0[src]
impl<'tcx, P: PrettyPrinter<'tcx>> Print<'tcx, P> for ClosureKind[src]
impl StructuralEq for ClosureKind[src]
impl StructuralPartialEq for ClosureKind[src]
impl<'tcx> TypeFoldable<'tcx> for ClosureKind[src]
fn super_fold_with<F: TypeFolder<'tcx>>(&self, _: &mut F) -> ClosureKind[src]
fn super_visit_with<F: TypeVisitor<'tcx>>(&self, _: &mut F) -> bool[src]
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> bool[src]
fn has_vars_bound_at_or_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_vars_bound_above(&self, binder: DebruijnIndex) -> bool[src]
fn has_escaping_bound_vars(&self) -> bool[src]
fn has_type_flags(&self, flags: TypeFlags) -> bool[src]
fn has_projections(&self) -> bool[src]
fn has_opaque_types(&self) -> bool[src]
fn references_error(&self) -> bool[src]
fn has_param_types_or_consts(&self) -> bool[src]
fn has_infer_regions(&self) -> bool[src]
fn has_infer_types(&self) -> bool[src]
fn has_infer_types_or_consts(&self) -> bool[src]
fn has_infer_consts(&self) -> bool[src]
fn needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&self) -> bool[src]
fn has_re_placeholders(&self) -> bool[src]
fn has_free_regions(&self) -> bool[src]
fn has_erased_regions(&self) -> bool[src]
fn has_erasable_regions(&self) -> bool[src]
fn is_global(&self) -> bool[src]
fn has_late_bound_regions(&self) -> bool[src]
fn still_further_specializable(&self) -> bool[src]
fn visit_tys_shallow(&self, visit: impl FnMut(Ty<'tcx>) -> bool) -> bool[src]
Auto Trait Implementations
impl RefUnwindSafe for ClosureKind
impl Send for ClosureKind
impl Sync for ClosureKind
impl Unpin for ClosureKind
impl UnwindSafe for ClosureKind
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
T: Copy, [src]
T: Copy,
fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
fn allocate_from_iter(
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T][src]
&'a Arena<'tcx>,
impl IntoIterator<Item = T>
) -> &'a mut [T]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<'a, T> Captures<'a> for T where
T: ?Sized, [src]
T: ?Sized,
impl<Ctxt, T> DepNodeParams<Ctxt> for T where
Ctxt: DepContext,
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug, [src]
Ctxt: DepContext,
T: HashStable<<Ctxt as DepContext>::StableHashingContext> + Debug,
default fn can_reconstruct_query_key() -> bool[src]
default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint[src]
default fn to_debug_str(&self, Ctxt) -> String[src]
default fn recover(Ctxt, &DepNode<<Ctxt as DepContext>::DepKind>) -> Option<T>[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> MaybeResult<T> for T[src]
type Error = !
fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]
impl<'tcx, T> Subst<'tcx> for T where
T: TypeFoldable<'tcx>, [src]
T: TypeFoldable<'tcx>,
fn subst_spanned(&Self, TyCtxt<'tcx>, &[GenericArg<'tcx>], Option<Span>) -> T[src]
fn subst(&self, tcx: TyCtxt<'tcx>, substs: &[GenericArg<'tcx>]) -> Self[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T> ToString for T where
T: Display + ?Sized, [src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.