[−][src]Enum rustc_codegen_ssa::mir::LocalRef

pub(in mir) enum LocalRef<'tcx, V> {
    Place(PlaceRef<'tcx, V>),
    UnsizedPlace(PlaceRef<'tcx, V>),
    Operand(Option<OperandRef<'tcx, V>>),
}

Variants

Place(PlaceRef<'tcx, V>)
UnsizedPlace(PlaceRef<'tcx, V>)

UnsizedPlace(p): p itself is a thin pointer (indirect place). *p is the fat pointer that references the actual unsized place. Every time it is initialized, we have to reallocate the place and update the fat pointer. That's the reason why it is indirect.

Operand(Option<OperandRef<'tcx, V>>)

Implementations

impl<'a, 'tcx, V: CodegenObject> LocalRef<'tcx, V>[src]

pub(in mir) fn new_operand<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
    bx: &mut Bx,
    layout: TyAndLayout<'tcx>
) -> LocalRef<'tcx, V>
[src]

Auto Trait Implementations

impl<'tcx, V> !RefUnwindSafe for LocalRef<'tcx, V>

impl<'tcx, V> !Send for LocalRef<'tcx, V>

impl<'tcx, V> !Sync for LocalRef<'tcx, V>

impl<'tcx, V> Unpin for LocalRef<'tcx, V> where
    V: Unpin, 

impl<'tcx, V> !UnwindSafe for LocalRef<'tcx, V>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized, 
[src]

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

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

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

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

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.