[][src]Enum rustc::ty::UpvarCapture

pub enum UpvarCapture<'tcx> {
    ByValue,
    ByRef(UpvarBorrow<'tcx>),
}
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Information describing the capture of an upvar. This is computed during typeck, specifically by regionck.

Variants

ByValue
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

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.

ByRef(UpvarBorrow<'tcx>)
⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

Upvar is captured by reference.

Trait Implementations

impl<'tcx> Clone for UpvarCapture<'tcx>[src]

impl<'tcx> Copy for UpvarCapture<'tcx>[src]

impl<'tcx> Debug for UpvarCapture<'tcx>[src]

impl<'tcx> Decodable for UpvarCapture<'tcx>[src]

impl<'tcx> Encodable for UpvarCapture<'tcx>[src]

impl<'tcx, '__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarCapture<'tcx>[src]

impl<'tcx> PartialEq<UpvarCapture<'tcx>> for UpvarCapture<'tcx>[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]

impl<T> ArenaAllocatable for T where
    T: Copy
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> Decodable for T where
    T: UseSpecializedDecodable
[src]

impl<T> Encodable for T where
    T: UseSpecializedEncodable + ?Sized
[src]

impl<T> Erased for T[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

⚙️ This is an internal compiler API. (rustc_private)

This crate is being loaded from the sysroot, a permanently unstable location for private compiler dependencies. It is not intended for general use. Prefer using a public version of this crate from crates.io via Cargo.toml.

impl<E> SpecializationError for E[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]