Trait rustc_mir::interpret::PointerArithmetic [−][src]
pub trait PointerArithmetic: HasDataLayout { fn pointer_size(&self) -> Size { ... } fn machine_usize_max(&self) -> u64 { ... } fn machine_isize_min(&self) -> i64 { ... } fn machine_isize_max(&self) -> i64 { ... } fn truncate_to_ptr(&self, (u64, bool)) -> (u64, bool) { ... } fn overflowing_offset(&self, val: u64, i: u64) -> (u64, bool) { ... } fn overflowing_signed_offset(&self, val: u64, i: i64) -> (u64, bool) { ... } fn offset<'tcx>(
&self,
val: u64,
i: u64
) -> Result<u64, InterpErrorInfo<'tcx>> { ... } fn signed_offset<'tcx>(
&self,
val: u64,
i: i64
) -> Result<u64, InterpErrorInfo<'tcx>> { ... } }
Provided methods
fn pointer_size(&self) -> Sizefn machine_usize_max(&self) -> u64fn machine_isize_min(&self) -> i64fn machine_isize_max(&self) -> i64Helper function: truncate given value-“overflowed flag” pair to pointer size and update “overflowed flag” if there was an overflow. This should be called by all the other methods before returning!
fn signed_offset<'tcx>(
&self,
val: u64,
i: i64
) -> Result<u64, InterpErrorInfo<'tcx>>