Struct rustc_mir::interpret::EvalContext [−][src]
pub struct EvalContext<'a, 'mir, 'tcx: 'a + 'mir, M: Machine<'mir, 'tcx>> { pub machine: M, pub tcx: TyCtxtAt<'a, 'tcx, 'tcx>, pub param_env: ParamEnv<'tcx>, pub memory: Memory<'a, 'mir, 'tcx, M>, pub(crate) stack: Vec<Frame<'mir, 'tcx>>, pub(crate) stack_limit: usize, pub(crate) steps_since_detector_enabled: isize, pub(crate) loop_detector: InfiniteLoopDetector<'a, 'mir, 'tcx, M>, }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Fields
machine: M
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Stores the Machine
instance.
tcx: TyCtxtAt<'a, 'tcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The results of the type checker, from rustc.
param_env: ParamEnv<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Bounds in scope for polymorphic evaluations.
memory: Memory<'a, 'mir, 'tcx, M>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The virtual memory system.
stack: Vec<Frame<'mir, 'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The virtual call stack.
stack_limit: usize
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
The maximum number of stack frames allowed
steps_since_detector_enabled: isize
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
When this value is negative, it indicates the number of interpreter steps until the loop detector is enabled. When it is positive, it is the number of steps after the detector has been enabled modulo the loop detector period.
loop_detector: InfiniteLoopDetector<'a, 'mir, 'tcx, M>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub(crate) fn cast(
&mut self,
src: ValTy<'tcx>,
kind: CastKind,
dest_ty: Ty<'tcx>,
dest: Place
) -> EvalResult<'tcx>
[src]
pub(crate) fn cast(
&mut self,
src: ValTy<'tcx>,
kind: CastKind,
dest_ty: Ty<'tcx>,
dest: Place
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn cast_scalar(
&self,
val: Scalar,
src_ty: Ty<'tcx>,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
[src]
pub(super) fn cast_scalar(
&self,
val: Scalar,
src_ty: Ty<'tcx>,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn cast_from_int(
&self,
v: u128,
src_ty: Ty<'tcx>,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
[src]
fn cast_from_int(
&self,
v: u128,
src_ty: Ty<'tcx>,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn cast_from_float(
&self,
bits: u128,
fty: FloatTy,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
[src]
fn cast_from_float(
&self,
bits: u128,
fty: FloatTy,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn cast_from_ptr(&self, ptr: Pointer, ty: Ty<'tcx>) -> EvalResult<'tcx, Scalar>
[src]
fn cast_from_ptr(&self, ptr: Pointer, ty: Ty<'tcx>) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub fn new(
tcx: TyCtxtAt<'a, 'tcx, 'tcx>,
param_env: ParamEnv<'tcx>,
machine: M,
memory_data: M::MemoryData
) -> Self
[src]
pub fn new(
tcx: TyCtxtAt<'a, 'tcx, 'tcx>,
param_env: ParamEnv<'tcx>,
machine: M,
memory_data: M::MemoryData
) -> Self
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(crate) fn with_fresh_body<F: FnOnce(&mut Self) -> R, R>(
&mut self,
f: F
) -> R
[src]
pub(crate) fn with_fresh_body<F: FnOnce(&mut Self) -> R, R>(
&mut self,
f: F
) -> R
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn alloc_ptr(&mut self, layout: TyLayout<'tcx>) -> EvalResult<'tcx, Pointer>
[src]
pub fn alloc_ptr(&mut self, layout: TyLayout<'tcx>) -> EvalResult<'tcx, Pointer>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn memory(&self) -> &Memory<'a, 'mir, 'tcx, M>
[src]
pub fn memory(&self) -> &Memory<'a, 'mir, 'tcx, M>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn memory_mut(&mut self) -> &mut Memory<'a, 'mir, 'tcx, M>
[src]
pub fn memory_mut(&mut self) -> &mut Memory<'a, 'mir, 'tcx, M>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn stack(&self) -> &[Frame<'mir, 'tcx>]
[src]
pub fn stack(&self) -> &[Frame<'mir, 'tcx>]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn cur_frame(&self) -> usize
[src]
pub fn cur_frame(&self) -> usize
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn str_to_value(&mut self, s: &str) -> EvalResult<'tcx, Value>
[src]
pub fn str_to_value(&mut self, s: &str) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn const_to_value(
&mut self,
val: ConstValue<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub fn const_to_value(
&mut self,
val: ConstValue<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn resolve(
&self,
def_id: DefId,
substs: &'tcx Substs<'tcx>
) -> EvalResult<'tcx, Instance<'tcx>>
[src]
pub(super) fn resolve(
&self,
def_id: DefId,
substs: &'tcx Substs<'tcx>
) -> EvalResult<'tcx, Instance<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn type_is_sized(
&self,
ty: Ty<'tcx>
) -> bool
[src]
pub(super) fn type_is_sized(
&self,
ty: Ty<'tcx>
) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn load_mir(
&self,
instance: InstanceDef<'tcx>
) -> EvalResult<'tcx, &'tcx Mir<'tcx>>
[src]
pub fn load_mir(
&self,
instance: InstanceDef<'tcx>
) -> EvalResult<'tcx, &'tcx Mir<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn monomorphize(&self, ty: Ty<'tcx>, substs: &'tcx Substs<'tcx>) -> Ty<'tcx>
[src]
pub fn monomorphize(&self, ty: Ty<'tcx>, substs: &'tcx Substs<'tcx>) -> Ty<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn size_and_align_of_dst(
&mut self,
ty: Ty<'tcx>,
value: Value
) -> EvalResult<'tcx, (Size, Align)>
[src]
pub fn size_and_align_of_dst(
&mut self,
ty: Ty<'tcx>,
value: Value
) -> EvalResult<'tcx, (Size, Align)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Return the size and aligment of the value at the given type. Note that the value does not matter if the type is sized. For unsized types, the value has to be a fat pointer, and we only care about the "extra" data in it.
pub fn push_stack_frame(
&mut self,
instance: Instance<'tcx>,
span: Span,
mir: &'mir Mir<'tcx>,
return_place: Place,
return_to_block: StackPopCleanup
) -> EvalResult<'tcx>
[src]
pub fn push_stack_frame(
&mut self,
instance: Instance<'tcx>,
span: Span,
mir: &'mir Mir<'tcx>,
return_place: Place,
return_to_block: StackPopCleanup
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn pop_stack_frame(
&mut self
) -> EvalResult<'tcx>
[src]
pub(super) fn pop_stack_frame(
&mut self
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn deallocate_local(&mut self, local: Option<Value>) -> EvalResult<'tcx>
[src]
pub fn deallocate_local(&mut self, local: Option<Value>) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn eval_rvalue_into_place(
&mut self,
rvalue: &Rvalue<'tcx>,
place: &Place<'tcx>
) -> EvalResult<'tcx>
[src]
pub(super) fn eval_rvalue_into_place(
&mut self,
rvalue: &Rvalue<'tcx>,
place: &Place<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Evaluate an assignment statement.
There is no separate eval_rvalue
function. Instead, the code for handling each rvalue
type writes its results directly into the memory specified by the place.
pub(super) fn type_is_fat_ptr(
&self,
ty: Ty<'tcx>
) -> bool
[src]
pub(super) fn type_is_fat_ptr(
&self,
ty: Ty<'tcx>
) -> bool
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn eval_operand_to_scalar(
&mut self,
op: &Operand<'tcx>
) -> EvalResult<'tcx, Scalar>
[src]
pub(super) fn eval_operand_to_scalar(
&mut self,
op: &Operand<'tcx>
) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(crate) fn operands_to_args(
&mut self,
ops: &[Operand<'tcx>]
) -> EvalResult<'tcx, Vec<ValTy<'tcx>>>
[src]
pub(crate) fn operands_to_args(
&mut self,
ops: &[Operand<'tcx>]
) -> EvalResult<'tcx, Vec<ValTy<'tcx>>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn eval_operand(
&mut self,
op: &Operand<'tcx>
) -> EvalResult<'tcx, ValTy<'tcx>>
[src]
pub fn eval_operand(
&mut self,
op: &Operand<'tcx>
) -> EvalResult<'tcx, ValTy<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn read_discriminant_as_variant_index(
&self,
place: Place,
layout: TyLayout<'tcx>
) -> EvalResult<'tcx, usize>
[src]
pub fn read_discriminant_as_variant_index(
&self,
place: Place,
layout: TyLayout<'tcx>
) -> EvalResult<'tcx, usize>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
reads a tag and produces the corresponding variant index
pub fn read_discriminant_value(
&self,
place: Place,
layout: TyLayout<'tcx>
) -> EvalResult<'tcx, u128>
[src]
pub fn read_discriminant_value(
&self,
place: Place,
layout: TyLayout<'tcx>
) -> EvalResult<'tcx, u128>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn write_discriminant_value(
&mut self,
dest_ty: Ty<'tcx>,
dest: Place,
variant_index: usize
) -> EvalResult<'tcx>
[src]
pub fn write_discriminant_value(
&mut self,
dest_ty: Ty<'tcx>,
dest: Place,
variant_index: usize
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn read_global_as_value(
&mut self,
gid: GlobalId<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub fn read_global_as_value(
&mut self,
gid: GlobalId<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn const_eval(
&self,
gid: GlobalId<'tcx>
) -> EvalResult<'tcx, &'tcx Const<'tcx>>
[src]
pub fn const_eval(
&self,
gid: GlobalId<'tcx>
) -> EvalResult<'tcx, &'tcx Const<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn allocate_place_for_value(
&mut self,
value: Value,
layout: TyLayout<'tcx>,
variant: Option<usize>
) -> EvalResult<'tcx, Place>
[src]
pub fn allocate_place_for_value(
&mut self,
value: Value,
layout: TyLayout<'tcx>,
variant: Option<usize>
) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn force_allocation(&mut self, place: Place) -> EvalResult<'tcx, Place>
[src]
pub fn force_allocation(&mut self, place: Place) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn follow_by_ref_value(
&self,
value: Value,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub fn follow_by_ref_value(
&self,
value: Value,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
ensures this Value is not a ByRef
pub fn value_to_scalar(
&self,
ValTy { value: value, ty: ty }: ValTy<'tcx>
) -> EvalResult<'tcx, Scalar>
[src]
pub fn value_to_scalar(
&self,
ValTy { value: value, ty: ty }: ValTy<'tcx>
) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn write_ptr(
&mut self,
dest: Place,
val: Scalar,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
[src]
pub fn write_ptr(
&mut self,
dest: Place,
val: Scalar,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn write_scalar(
&mut self,
dest: Place,
val: Scalar,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
[src]
pub fn write_scalar(
&mut self,
dest: Place,
val: Scalar,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn write_value(
&mut self,
ValTy { value: src_val, ty: dest_ty }: ValTy<'tcx>,
dest: Place
) -> EvalResult<'tcx>
[src]
pub fn write_value(
&mut self,
ValTy { value: src_val, ty: dest_ty }: ValTy<'tcx>,
dest: Place
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn write_value_possibly_by_val<F: FnOnce(&mut Self, Value) -> EvalResult<'tcx>>(
&mut self,
src_val: Value,
write_dest: F,
old_dest_val: Value,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
[src]
fn write_value_possibly_by_val<F: FnOnce(&mut Self, Value) -> EvalResult<'tcx>>(
&mut self,
src_val: Value,
write_dest: F,
old_dest_val: Value,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn write_value_to_ptr(
&mut self,
value: Value,
dest: Scalar,
dest_align: Align,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
[src]
pub fn write_value_to_ptr(
&mut self,
value: Value,
dest: Scalar,
dest_align: Align,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn read_value(
&self,
ptr: Scalar,
align: Align,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub fn read_value(
&self,
ptr: Scalar,
align: Align,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(crate) fn read_ptr(
&self,
ptr: Pointer,
ptr_align: Align,
pointee_ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub(crate) fn read_ptr(
&self,
ptr: Pointer,
ptr_align: Align,
pointee_ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn validate_scalar(
&self,
value: Scalar,
size: Size,
scalar: &Scalar,
path: &str,
ty: Ty
) -> EvalResult<'tcx>
[src]
fn validate_scalar(
&self,
value: Scalar,
size: Size,
scalar: &Scalar,
path: &str,
ty: Ty
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn validate_ptr_target(
&self,
ptr: Pointer,
ptr_align: Align,
layout: TyLayout<'tcx>,
path: String,
seen: &mut FxHashSet<(Pointer, Ty<'tcx>)>,
todo: &mut Vec<(Pointer, Ty<'tcx>, String)>
) -> EvalResult<'tcx>
[src]
pub fn validate_ptr_target(
&self,
ptr: Pointer,
ptr_align: Align,
layout: TyLayout<'tcx>,
path: String,
seen: &mut FxHashSet<(Pointer, Ty<'tcx>)>,
todo: &mut Vec<(Pointer, Ty<'tcx>, String)>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
This function checks the memory where ptr
points to.
It will error if the bits at the destination do not match the ones described by the layout.
pub fn try_read_by_ref(
&self,
val: Value,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub fn try_read_by_ref(
&self,
val: Value,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn try_read_value(
&self,
ptr: Scalar,
ptr_align: Align,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Option<Value>>
[src]
pub fn try_read_value(
&self,
ptr: Scalar,
ptr_align: Align,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Option<Value>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn frame(&self) -> &Frame<'mir, 'tcx>
[src]
pub fn frame(&self) -> &Frame<'mir, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn frame_mut(&mut self) -> &mut Frame<'mir, 'tcx>
[src]
pub fn frame_mut(&mut self) -> &mut Frame<'mir, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn mir(
&self
) -> &'mir Mir<'tcx>
[src]
pub(super) fn mir(
&self
) -> &'mir Mir<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn substs(&self) -> &'tcx Substs<'tcx>
[src]
pub fn substs(&self) -> &'tcx Substs<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn unsize_into_ptr(
&mut self,
src: Value,
src_ty: Ty<'tcx>,
dest: Place,
dest_ty: Ty<'tcx>,
sty: Ty<'tcx>,
dty: Ty<'tcx>
) -> EvalResult<'tcx>
[src]
fn unsize_into_ptr(
&mut self,
src: Value,
src_ty: Ty<'tcx>,
dest: Place,
dest_ty: Ty<'tcx>,
sty: Ty<'tcx>,
dty: Ty<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(crate) fn unsize_into(
&mut self,
src: Value,
src_layout: TyLayout<'tcx>,
dst: Place,
dst_layout: TyLayout<'tcx>
) -> EvalResult<'tcx>
[src]
pub(crate) fn unsize_into(
&mut self,
src: Value,
src_layout: TyLayout<'tcx>,
dst: Place,
dst_layout: TyLayout<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn dump_local(&self, place: Place)
[src]
pub fn dump_local(&self, place: Place)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn modify_local<F>(
&mut self,
frame: usize,
local: Local,
f: F
) -> EvalResult<'tcx> where
F: FnOnce(&mut Self, Value) -> EvalResult<'tcx, Value>,
[src]
pub fn modify_local<F>(
&mut self,
frame: usize,
local: Local,
f: F
) -> EvalResult<'tcx> where
F: FnOnce(&mut Self, Value) -> EvalResult<'tcx, Value>,
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Convenience function to ensure correct usage of locals
pub fn generate_stacktrace(
&self,
explicit_span: Option<Span>
) -> (Vec<FrameInfo>, Span)
[src]
pub fn generate_stacktrace(
&self,
explicit_span: Option<Span>
) -> (Vec<FrameInfo>, Span)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn sign_extend(&self, value: u128, ty: Ty<'tcx>) -> EvalResult<'tcx, u128>
[src]
pub fn sign_extend(&self, value: u128, ty: Ty<'tcx>) -> EvalResult<'tcx, u128>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn truncate(&self, value: u128, ty: Ty<'tcx>) -> EvalResult<'tcx, u128>
[src]
pub fn truncate(&self, value: u128, ty: Ty<'tcx>) -> EvalResult<'tcx, u128>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn write_field_name(
&self,
s: &mut String,
ty: Ty<'tcx>,
i: usize,
variant: usize
) -> Result
[src]
fn write_field_name(
&self,
s: &mut String,
ty: Ty<'tcx>,
i: usize,
variant: usize
) -> Result
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub fn try_read_place(
&self,
place: &Place<'tcx>
) -> EvalResult<'tcx, Option<Value>>
[src]
pub fn try_read_place(
&self,
place: &Place<'tcx>
) -> EvalResult<'tcx, Option<Value>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Reads a value from the place without going through the intermediate step of obtaining
a miri::Place
pub fn read_field(
&self,
base: Value,
variant: Option<usize>,
field: Field,
base_layout: TyLayout<'tcx>
) -> EvalResult<'tcx, (Value, TyLayout<'tcx>)>
[src]
pub fn read_field(
&self,
base: Value,
variant: Option<usize>,
field: Field,
base_layout: TyLayout<'tcx>
) -> EvalResult<'tcx, (Value, TyLayout<'tcx>)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn try_read_place_projection(
&self,
proj: &PlaceProjection<'tcx>
) -> EvalResult<'tcx, Option<Value>>
[src]
fn try_read_place_projection(
&self,
proj: &PlaceProjection<'tcx>
) -> EvalResult<'tcx, Option<Value>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn eval_and_read_place(
&mut self,
place: &Place<'tcx>
) -> EvalResult<'tcx, Value>
[src]
pub(super) fn eval_and_read_place(
&mut self,
place: &Place<'tcx>
) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Returns a value and (in case of a ByRef) if we are supposed to use aligned accesses.
pub fn read_place(&self, place: Place) -> EvalResult<'tcx, Value>
[src]
pub fn read_place(&self, place: Place) -> EvalResult<'tcx, Value>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn eval_place(&mut self, mir_place: &Place<'tcx>) -> EvalResult<'tcx, Place>
[src]
pub fn eval_place(&mut self, mir_place: &Place<'tcx>) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn place_field(
&mut self,
base: Place,
field: Field,
base_layout: TyLayout<'tcx>
) -> EvalResult<'tcx, (Place, TyLayout<'tcx>)>
[src]
pub fn place_field(
&mut self,
base: Place,
field: Field,
base_layout: TyLayout<'tcx>
) -> EvalResult<'tcx, (Place, TyLayout<'tcx>)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn val_to_place(&self, val: Value, ty: Ty<'tcx>) -> EvalResult<'tcx, Place>
[src]
pub fn val_to_place(&self, val: Value, ty: Ty<'tcx>) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn place_index(
&mut self,
base: Place,
outer_ty: Ty<'tcx>,
n: u64
) -> EvalResult<'tcx, Place>
[src]
pub fn place_index(
&mut self,
base: Place,
outer_ty: Ty<'tcx>,
n: u64
) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn place_downcast(
&mut self,
base: Place,
variant: usize
) -> EvalResult<'tcx, Place>
[src]
pub(super) fn place_downcast(
&mut self,
base: Place,
variant: usize
) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn eval_place_projection(
&mut self,
base: Place,
base_ty: Ty<'tcx>,
proj_elem: &ProjectionElem<'tcx, Local, Ty<'tcx>>
) -> EvalResult<'tcx, Place>
[src]
pub fn eval_place_projection(
&mut self,
base: Place,
base_ty: Ty<'tcx>,
proj_elem: &ProjectionElem<'tcx, Local, Ty<'tcx>>
) -> EvalResult<'tcx, Place>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn place_ty(&self, place: &Place<'tcx>) -> Ty<'tcx>
[src]
pub fn place_ty(&self, place: &Place<'tcx>) -> Ty<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
fn binop_with_overflow(
&mut self,
op: BinOp,
left: ValTy<'tcx>,
right: ValTy<'tcx>
) -> EvalResult<'tcx, (Scalar, bool)>
[src]
fn binop_with_overflow(
&mut self,
op: BinOp,
left: ValTy<'tcx>,
right: ValTy<'tcx>
) -> EvalResult<'tcx, (Scalar, bool)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn intrinsic_with_overflow(
&mut self,
op: BinOp,
left: ValTy<'tcx>,
right: ValTy<'tcx>,
dest: Place,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
[src]
pub fn intrinsic_with_overflow(
&mut self,
op: BinOp,
left: ValTy<'tcx>,
right: ValTy<'tcx>,
dest: Place,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Applies the binary operation op
to the two operands and writes a tuple of the result
and a boolean signifying the potential overflow to the destination.
pub fn intrinsic_overflowing(
&mut self,
op: BinOp,
left: ValTy<'tcx>,
right: ValTy<'tcx>,
dest: Place,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, bool>
[src]
pub fn intrinsic_overflowing(
&mut self,
op: BinOp,
left: ValTy<'tcx>,
right: ValTy<'tcx>,
dest: Place,
dest_ty: Ty<'tcx>
) -> EvalResult<'tcx, bool>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Applies the binary operation op
to the arguments and writes the result to the
destination. Returns true
if the operation overflowed.
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub fn binary_op(
&self,
bin_op: BinOp,
left: Scalar,
left_ty: Ty<'tcx>,
right: Scalar,
right_ty: Ty<'tcx>
) -> EvalResult<'tcx, (Scalar, bool)>
[src]
pub fn binary_op(
&self,
bin_op: BinOp,
left: Scalar,
left_ty: Ty<'tcx>,
right: Scalar,
right_ty: Ty<'tcx>
) -> EvalResult<'tcx, (Scalar, bool)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Returns the result of the specified operation and whether it overflowed.
pub fn unary_op(
&self,
un_op: UnOp,
val: Scalar,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
[src]
pub fn unary_op(
&self,
un_op: UnOp,
val: Scalar,
ty: Ty<'tcx>
) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub fn inc_step_counter_and_detect_loops(&mut self) -> EvalResult<'tcx, ()>
[src]
pub fn inc_step_counter_and_detect_loops(&mut self) -> EvalResult<'tcx, ()>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn step(&mut self) -> EvalResult<'tcx, bool>
[src]
pub fn step(&mut self) -> EvalResult<'tcx, bool>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Returns true as long as there are more things to do.
fn statement(&mut self, stmt: &Statement<'tcx>) -> EvalResult<'tcx>
[src]
fn statement(&mut self, stmt: &Statement<'tcx>) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn terminator(&mut self, terminator: &Terminator<'tcx>) -> EvalResult<'tcx>
[src]
fn terminator(&mut self, terminator: &Terminator<'tcx>) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub(crate) fn drop_place(
&mut self,
place: Place,
instance: Instance<'tcx>,
ty: Ty<'tcx>,
span: Span,
target: BasicBlock
) -> EvalResult<'tcx>
[src]
pub(crate) fn drop_place(
&mut self,
place: Place,
instance: Instance<'tcx>,
ty: Ty<'tcx>,
span: Span,
target: BasicBlock
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn drop(
&mut self,
arg: Value,
instance: Instance<'tcx>,
ty: Ty<'tcx>,
span: Span,
target: BasicBlock
) -> EvalResult<'tcx>
[src]
fn drop(
&mut self,
arg: Value,
instance: Instance<'tcx>,
ty: Ty<'tcx>,
span: Span,
target: BasicBlock
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub fn goto_block(&mut self, target: BasicBlock)
[src]
pub fn goto_block(&mut self, target: BasicBlock)
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub(super) fn eval_terminator(
&mut self,
terminator: &Terminator<'tcx>
) -> EvalResult<'tcx>
[src]
pub(super) fn eval_terminator(
&mut self,
terminator: &Terminator<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn check_sig_compat(
&mut self,
sig: FnSig<'tcx>,
real_sig: FnSig<'tcx>
) -> EvalResult<'tcx, bool>
[src]
fn check_sig_compat(
&mut self,
sig: FnSig<'tcx>,
real_sig: FnSig<'tcx>
) -> EvalResult<'tcx, bool>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Decides whether it is okay to call the method with signature real_sig
using signature sig
.
FIXME: This should take into account the platform-dependent ABI description.
fn eval_fn_call(
&mut self,
instance: Instance<'tcx>,
destination: Option<(Place, BasicBlock)>,
args: &[ValTy<'tcx>],
span: Span,
sig: FnSig<'tcx>
) -> EvalResult<'tcx>
[src]
fn eval_fn_call(
&mut self,
instance: Instance<'tcx>,
destination: Option<(Place, BasicBlock)>,
args: &[ValTy<'tcx>],
span: Span,
sig: FnSig<'tcx>
) -> EvalResult<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M>
pub fn get_vtable(
&mut self,
ty: Ty<'tcx>,
trait_ref: PolyTraitRef<'tcx>
) -> EvalResult<'tcx, Pointer>
[src]
pub fn get_vtable(
&mut self,
ty: Ty<'tcx>,
trait_ref: PolyTraitRef<'tcx>
) -> EvalResult<'tcx, Pointer>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Creates a dynamic vtable for the given type and vtable origin. This is used only for objects.
The trait_ref
encodes the erased self type. Hence if we are
making an object Foo<Trait>
from a value of type Foo<T>
, then
trait_ref
would map T:Trait
.
pub fn read_drop_type_from_vtable(
&self,
vtable: Pointer
) -> EvalResult<'tcx, Option<Instance<'tcx>>>
[src]
pub fn read_drop_type_from_vtable(
&self,
vtable: Pointer
) -> EvalResult<'tcx, Option<Instance<'tcx>>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
pub fn read_size_and_align_from_vtable(
&self,
vtable: Pointer
) -> EvalResult<'tcx, (Size, Align)>
[src]
pub fn read_size_and_align_from_vtable(
&self,
vtable: Pointer
) -> EvalResult<'tcx, (Size, Align)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Trait Implementations
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> HasDataLayout for &'a EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> HasDataLayout for &'a EvalContext<'a, 'mir, 'tcx, M>
fn data_layout(&self) -> &TargetDataLayout
[src]
fn data_layout(&self) -> &TargetDataLayout
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> HasTyCtxt<'tcx> for &'a EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> HasTyCtxt<'tcx> for &'a EvalContext<'a, 'mir, 'tcx, M>
fn tcx<'b>(&'b self) -> TyCtxt<'b, 'tcx, 'tcx>
[src]
fn tcx<'b>(&'b self) -> TyCtxt<'b, 'tcx, 'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> LayoutOf for &'a EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> LayoutOf for &'a EvalContext<'a, 'mir, 'tcx, M>
type Ty = Ty<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
type TyLayout = EvalResult<'tcx, TyLayout<'tcx>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn layout_of(self, ty: Ty<'tcx>) -> Self::TyLayout
[src]
fn layout_of(self, ty: Ty<'tcx>) -> Self::TyLayout
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> HasMemory<'a, 'mir, 'tcx, M> for EvalContext<'a, 'mir, 'tcx, M>
[src]
impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> HasMemory<'a, 'mir, 'tcx, M> for EvalContext<'a, 'mir, 'tcx, M>
fn memory_mut(&mut self) -> &mut Memory<'a, 'mir, 'tcx, M>
[src]
fn memory_mut(&mut self) -> &mut Memory<'a, 'mir, 'tcx, M>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn memory(&self) -> &Memory<'a, 'mir, 'tcx, M>
[src]
fn memory(&self) -> &Memory<'a, 'mir, 'tcx, M>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn into_ptr(&self, value: Value) -> EvalResult<'tcx, Scalar>
[src]
fn into_ptr(&self, value: Value) -> EvalResult<'tcx, Scalar>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Convert the value into a pointer (or a pointer-sized integer). If the value is a ByRef, this may have to perform a load. Read more
fn into_ptr_vtable_pair(
&self,
value: Value
) -> EvalResult<'tcx, (Scalar, Pointer)>
[src]
fn into_ptr_vtable_pair(
&self,
value: Value
) -> EvalResult<'tcx, (Scalar, Pointer)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn into_slice(&self, value: Value) -> EvalResult<'tcx, (Scalar, u64)>
[src]
fn into_slice(&self, value: Value) -> EvalResult<'tcx, (Scalar, u64)>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Auto Trait Implementations
impl<'a, 'mir, 'tcx, M> !Send for EvalContext<'a, 'mir, 'tcx, M>
impl<'a, 'mir, 'tcx, M> !Send for EvalContext<'a, 'mir, 'tcx, M>
impl<'a, 'mir, 'tcx, M> !Sync for EvalContext<'a, 'mir, 'tcx, M>
impl<'a, 'mir, 'tcx, M> !Sync for EvalContext<'a, 'mir, 'tcx, M>