[−][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 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) -> ControlFlow<()>[src]
fn fold_with<F: TypeFolder<'tcx>>(&self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(&self, visitor: &mut V) -> ControlFlow<()>[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 needs_infer(&self) -> bool[src]
fn has_placeholders(&self) -> bool[src]
fn needs_subst(&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>) -> ControlFlow<()>
) -> ControlFlow<()>[src]
&self,
visit: impl FnMut(Ty<'tcx>) -> ControlFlow<()>
) -> ControlFlow<()>
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,
pub fn allocate_on(Self, &'a Arena<'tcx>) -> &'a mut T[src]
pub 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,
pub 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,
pub default fn can_reconstruct_query_key() -> bool[src]
pub default fn to_fingerprint(&self, tcx: Ctxt) -> Fingerprint[src]
pub default fn to_debug_str(&self, Ctxt) -> String[src]
pub default fn recover(
Ctxt,
&DepNode<<Ctxt as DepContext>::DepKind>
) -> Option<T>[src]
Ctxt,
&DepNode<<Ctxt as DepContext>::DepKind>
) -> Option<T>
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 = !
pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]
pub 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>,
pub fn subst_spanned(
&Self,
TyCtxt<'tcx>,
&[GenericArg<'tcx>],
Option<Span>
) -> T[src]
&Self,
TyCtxt<'tcx>,
&[GenericArg<'tcx>],
Option<Span>
) -> T
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.
pub fn to_owned(&self) -> T[src]
pub 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.
pub 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.