pub(crate) fn try_read_immediate(
        &self,
        src: &OpTy<'tcx, M::PointerTag>,
    ) -> InterpResult<'tcx, Result<ImmTy<'tcx, M::PointerTag>, MPlaceTy<'tcx, M::PointerTag>>> {
        Ok(match src.try_as_mplace(self) {
            Ok(ref mplace) => {
                if let Some(val) = self.try_read_immediate_from_mplace(mplace)? {
                    Ok(val)
                } else {
                    Err(*mplace)
                }
            }
            Err(val) => Ok(val),
        })
    }
/// Try returning an immediate for the operand.
/// If the layout does not permit loading this as an immediate, return where in memory
/// we can find the data.
/// Note that for a given layout, this operation will either always fail or always
/// succeed!  Whether it succeeds depends on whether the layout can be represented
/// in a `Immediate`, not on which data is stored there currently.
Try returning an immediate for the operand.
If the layout does not permit loading this as an immediate, return where in memory
we can find the data.
Note that for a given layout, this operation will either always fail or always
succeed.  Whether it succeeds depends on whether the layout can be represented
in a `Immediate`, not on which data is stored there currently.
Try returning an immediate for the operand . If the layout does not permit loading this as an immediate return where in memory we can find the data . Note that for a given layout this operation will either always fail or always succeed . Whether it succeeds depends on whether the layout can be represented in a ` Immediate ` not on which data is stored there currently .
pub(crate) fn try_read_immediate(
        &self,
        src: &OpTy<'tcx, M::PointerTag>,
    ) -> InterpResult<'tcx, Result<ImmTy<'tcx, M::PointerTag>, MPlaceTy<'tcx, M::PointerTag>>> {
        Ok(match src.try_as_mplace(self) {
            Ok(ref mplace) => {
                if let Some(val) = self.try_read_immediate_from_mplace(mplace)? {
                    Ok(val)
                } else {
                    Err(*mplace)
                }
            }
            Err(val) => Ok(val),
        })
    }
pub ( crate ) fn try_read_immediate ( & self , src : & OpTy < ' tcx , M :: PointerTag > , ) -> InterpResult < ' tcx , Result < ImmTy < ' tcx , M :: PointerTag > , MPlaceTy < ' tcx , M :: PointerTag > > > { Ok ( match src . try_as_mplace ( self ) { Ok ( ref mplace ) => { if let Some ( val ) = self . try_read_immediate_from_mplace ( mplace ) ? { Ok ( val ) } else { Err ( * mplace ) } } Err ( val ) => Ok ( val ) , } ) }
Try returning an immediate for the operand.
Try returning an immediate for the operand .
&self
src
&OpTy<'tcx, M::PointerTag>
&self
src
&OpTy<'tcx, M::PointerTag>