Struct rustc_mir::interpret::CompileTimeEvaluator [−][src]
pub struct CompileTimeEvaluator;
🔬 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<'mir, 'tcx> Machine<'mir, 'tcx> for CompileTimeEvaluator[src]
impl<'mir, 'tcx> Machine<'mir, 'tcx> for CompileTimeEvaluatortype MemoryData = ()
🔬 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?
Additional data that can be accessed via the Memory
type MemoryKinds = !
🔬 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?
Additional memory kinds a machine wishes to distinguish from the builtin ones
fn eval_fn_call<'a>(
ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
instance: Instance<'tcx>,
destination: Option<(Place, BasicBlock)>,
args: &[ValTy<'tcx>],
span: Span,
sig: FnSig<'tcx>
) -> EvalResult<'tcx, bool>[src]
fn eval_fn_call<'a>(
ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
instance: Instance<'tcx>,
destination: Option<(Place, BasicBlock)>,
args: &[ValTy<'tcx>],
span: Span,
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?
Entry point to all function calls. Read more
fn call_intrinsic<'a>(
ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
instance: Instance<'tcx>,
args: &[ValTy<'tcx>],
dest: Place,
dest_layout: TyLayout<'tcx>,
target: BasicBlock
) -> EvalResult<'tcx>[src]
fn call_intrinsic<'a>(
ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
instance: Instance<'tcx>,
args: &[ValTy<'tcx>],
dest: Place,
dest_layout: TyLayout<'tcx>,
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?
directly process an intrinsic without pushing a stack frame.
fn try_ptr_op<'a>(
_ecx: &EvalContext<'a, 'mir, 'tcx, Self>,
_bin_op: BinOp,
left: Scalar,
_left_ty: Ty<'tcx>,
right: Scalar,
_right_ty: Ty<'tcx>
) -> EvalResult<'tcx, Option<(Scalar, bool)>>[src]
fn try_ptr_op<'a>(
_ecx: &EvalContext<'a, 'mir, 'tcx, Self>,
_bin_op: BinOp,
left: Scalar,
_left_ty: Ty<'tcx>,
right: Scalar,
_right_ty: Ty<'tcx>
) -> EvalResult<'tcx, Option<(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?
Called for all binary operations except on float types. Read more
fn mark_static_initialized<'a>(
_mem: &mut Memory<'a, 'mir, 'tcx, Self>,
_id: AllocId,
_mutability: Mutability
) -> EvalResult<'tcx, bool>[src]
fn mark_static_initialized<'a>(
_mem: &mut Memory<'a, 'mir, 'tcx, Self>,
_id: AllocId,
_mutability: Mutability
) -> 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?
Called when trying to mark machine defined MemoryKinds as static
fn init_static<'a>(
ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
cid: GlobalId<'tcx>
) -> EvalResult<'tcx, AllocId>[src]
fn init_static<'a>(
ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
cid: GlobalId<'tcx>
) -> EvalResult<'tcx, AllocId>🔬 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?
Called when requiring a pointer to a static. Non const eval can create a mutable memory location for static mut Read more
fn box_alloc<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_ty: Ty<'tcx>,
_dest: Place
) -> EvalResult<'tcx>[src]
fn box_alloc<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_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?
Heap allocations via the box keyword Read more
fn global_item_with_linkage<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_instance: Instance<'tcx>,
_mutability: Mutability
) -> EvalResult<'tcx>[src]
fn global_item_with_linkage<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_instance: Instance<'tcx>,
_mutability: Mutability
) -> 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?
Called when trying to access a global declared with a linkage attribute
fn check_locks<'a>(
_mem: &Memory<'a, 'mir, 'tcx, Self>,
_ptr: Pointer,
_size: Size,
_access: AccessKind
) -> EvalResult<'tcx>[src]
fn check_locks<'a>(
_mem: &Memory<'a, 'mir, 'tcx, Self>,
_ptr: Pointer,
_size: Size,
_access: AccessKind
) -> 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 add_lock<'a>(_mem: &mut Memory<'a, 'mir, 'tcx, Self>, _id: AllocId)[src]
fn add_lock<'a>(_mem: &mut Memory<'a, 'mir, 'tcx, Self>, _id: AllocId)🔬 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 free_lock<'a>(
_mem: &mut Memory<'a, 'mir, 'tcx, Self>,
_id: AllocId,
_len: u64
) -> EvalResult<'tcx>[src]
fn free_lock<'a>(
_mem: &mut Memory<'a, 'mir, 'tcx, Self>,
_id: AllocId,
_len: u64
) -> 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 end_region<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_reg: Option<Scope>
) -> EvalResult<'tcx>[src]
fn end_region<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_reg: Option<Scope>
) -> 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 validation_op<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_op: ValidationOp,
_operand: &ValidationOperand<'tcx, Place<'tcx>>
) -> EvalResult<'tcx>[src]
fn validation_op<'a>(
_ecx: &mut EvalContext<'a, 'mir, 'tcx, Self>,
_op: ValidationOp,
_operand: &ValidationOperand<'tcx, 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?
Auto Trait Implementations
impl Send for CompileTimeEvaluator
impl Send for CompileTimeEvaluatorimpl Sync for CompileTimeEvaluator
impl Sync for CompileTimeEvaluator