[−][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]
fn clone(&self) -> UpvarCapture<'tcx>[src]
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]
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<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<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.