Struct rustc_middle::ty::UpvarId[][src]

pub struct UpvarId {
    pub var_path: UpvarPath,
    pub closure_expr_id: LocalDefId,

Upvars do not get their own NodeId. Instead, we use the pair of the original var ID (that is, the root variable that is referenced by the upvar) and the ID of the closure expression.


var_path: UpvarPathclosure_expr_id: LocalDefId


impl UpvarId[src]

pub fn new(var_hir_id: HirId, closure_def_id: LocalDefId) -> UpvarId[src]

Trait Implementations

impl Clone for UpvarId[src]

impl Copy for UpvarId[src]

impl Debug for UpvarId[src]

impl<'tcx, __D: TyDecoder<'tcx>> Decodable<__D> for UpvarId[src]

impl<'tcx, __E: TyEncoder<'tcx>> Encodable<__E> for UpvarId[src]

impl Eq for UpvarId[src]

impl Hash for UpvarId[src]

impl<'__ctx> HashStable<StableHashingContext<'__ctx>> for UpvarId[src]

impl PartialEq<UpvarId> for UpvarId[src]

impl StructuralEq for UpvarId[src]

impl StructuralPartialEq for UpvarId[src]

impl<'tcx> TypeFoldable<'tcx> for UpvarId[src]

Auto Trait Implementations

impl RefUnwindSafe for UpvarId

impl Send for UpvarId

impl Sync for UpvarId

impl Unpin for UpvarId

impl UnwindSafe for UpvarId

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<'tcx, T> ArenaAllocatable<'tcx, ()> for T where
    T: Copy

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

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

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

impl<T, U> Into<U> for T where
    U: From<T>, 

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

type Error = !

impl<'tcx, T> Subst<'tcx> for T where
    T: TypeFoldable<'tcx>, 

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

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

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]