[−][src]Enum rustc_middle::ty::UpvarCapture
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]
pub 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]
pub 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]
pub fn eq(&self, other: &UpvarCapture<'tcx>) -> bool[src]
pub fn ne(&self, other: &UpvarCapture<'tcx>) -> bool[src]
impl<'tcx> StructuralPartialEq for UpvarCapture<'tcx>[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<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.