Enum rustc_middle::ty::UpvarCapture [−][src]
Information describing the capture of an upvar. This is computed
during typeck, specifically by regionck.
Variants
Upvar is captured by value. This is always true when the
closure is labeled move, but can also be true in other cases
depending on inference.
If the upvar was inferred to be captured by value (e.g. move
was not used), then the Span points to a usage that
required it. There may be more than one such usage
(e.g. || { a; a; }), in which case we pick an
arbitrary one.
ByRef(UpvarBorrow<'tcx>)Upvar is captured by reference.
Trait Implementations
impl<'tcx> Clone for UpvarCapture<'tcx>[src]
fn clone(&self) -> UpvarCapture<'tcx>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<'tcx> Copy for UpvarCapture<'tcx>[src]
impl<'tcx> Debug for UpvarCapture<'tcx>[src]
impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for UpvarCapture<'tcx>[src]
impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for UpvarCapture<'tcx>[src]
impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarCapture<'tcx>[src]
fn hash_stable(
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)[src]
&self,
__hcx: &mut StableHashingContext<'__ctx>,
__hasher: &mut StableHasher
)
impl<'tcx> PartialEq<UpvarCapture<'tcx>> for UpvarCapture<'tcx>[src]
fn eq(&self, other: &UpvarCapture<'tcx>) -> bool[src]
fn ne(&self, other: &UpvarCapture<'tcx>) -> bool[src]
impl<'tcx> StructuralPartialEq for UpvarCapture<'tcx>[src]
impl<'tcx> TypeFoldable<'tcx> for UpvarCapture<'tcx>[src]
fn super_fold_with<__F: TypeFolder<'tcx>>(self, __folder: &mut __F) -> Self[src]
fn super_visit_with<__F: TypeVisitor<'tcx>>(
&self,
__folder: &mut __F
) -> ControlFlow<__F::BreakTy>[src]
&self,
__folder: &mut __F
) -> ControlFlow<__F::BreakTy>
fn fold_with<F: TypeFolder<'tcx>>(self, folder: &mut F) -> Self[src]
fn visit_with<V: TypeVisitor<'tcx>>(
&self,
visitor: &mut V
) -> ControlFlow<V::BreakTy>[src]
&self,
visitor: &mut V
) -> ControlFlow<V::BreakTy>
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]
Auto Trait Implementations
impl<'tcx> RefUnwindSafe for UpvarCapture<'tcx>
impl<'tcx> !Send for UpvarCapture<'tcx>
impl<'tcx> !Sync for UpvarCapture<'tcx>
impl<'tcx> Unpin for UpvarCapture<'tcx>
impl<'tcx> UnwindSafe for UpvarCapture<'tcx>
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<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]
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, 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.