Enum rustc_codegen_ssa::mir::LocalRef [−][src]
enum LocalRef<'tcx, V> {
Place(PlaceRef<'tcx, V>),
UnsizedPlace(PlaceRef<'tcx, V>),
Operand(Option<OperandRef<'tcx, V>>),
}
Variants
Place(PlaceRef<'tcx, V>)
Tuple Fields of Place
0: 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.
Tuple Fields of UnsizedPlace
0: PlaceRef<'tcx, V>
Operand(Option<OperandRef<'tcx, V>>)
Tuple Fields of Operand
0: Option<OperandRef<'tcx, V>>
Implementations
fn new_operand<Bx: BuilderMethods<'a, 'tcx, Value = V>>(
bx: &mut Bx,
layout: TyAndLayout<'tcx>
) -> LocalRef<'tcx, V>
Auto Trait Implementations
impl<'tcx, V> !RefUnwindSafe for LocalRef<'tcx, V>
impl<'tcx, V> !UnwindSafe for LocalRef<'tcx, V>
Blanket Implementations
Layout
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.