[−][src]Trait rustc_mir::interpret::visitor::Value

pub trait Value<'mir, 'tcx, M: Machine<'mir, 'tcx>>: Copy {
    pub fn layout(&self) -> TyAndLayout<'tcx>;
pub fn to_op(
        self,
        ecx: &InterpCx<'mir, 'tcx, M>
    ) -> InterpResult<'tcx, OpTy<'tcx, M::PointerTag>>;
pub fn from_mem_place(mplace: MPlaceTy<'tcx, M::PointerTag>) -> Self;
pub fn project_downcast(
        self,
        ecx: &InterpCx<'mir, 'tcx, M>,
        variant: VariantIdx
    ) -> InterpResult<'tcx, Self>;
pub fn project_field(
        self,
        ecx: &InterpCx<'mir, 'tcx, M>,
        field: usize
    ) -> InterpResult<'tcx, Self>; }

Required methods

pub fn layout(&self) -> TyAndLayout<'tcx>[src]

Gets this value's layout.

pub fn to_op(
    self,
    ecx: &InterpCx<'mir, 'tcx, M>
) -> InterpResult<'tcx, OpTy<'tcx, M::PointerTag>>
[src]

Makes this into an OpTy.

pub fn from_mem_place(mplace: MPlaceTy<'tcx, M::PointerTag>) -> Self[src]

Creates this from an MPlaceTy.

pub fn project_downcast(
    self,
    ecx: &InterpCx<'mir, 'tcx, M>,
    variant: VariantIdx
) -> InterpResult<'tcx, Self>
[src]

Projects to the given enum variant.

pub fn project_field(
    self,
    ecx: &InterpCx<'mir, 'tcx, M>,
    field: usize
) -> InterpResult<'tcx, Self>
[src]

Projects to the n-th field.

Loading content...

Implementors

impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> Value<'mir, 'tcx, M> for MPlaceTy<'tcx, M::PointerTag>[src]

impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> Value<'mir, 'tcx, M> for OpTy<'tcx, M::PointerTag>[src]

Loading content...