pub(crate) type CompileTimeEvalContext<'mir, 'tcx> = InterpCx<'mir, 'tcx, CompileTimeInterpreter<'mir, 'tcx>>;

Aliased Type§

struct CompileTimeEvalContext<'mir, 'tcx> {
    pub machine: CompileTimeInterpreter<'mir, 'tcx>,
    pub tcx: TyCtxtAt<'tcx>,
    pub(crate) param_env: ParamEnv<'tcx>,
    pub memory: Memory<'mir, 'tcx, CompileTimeInterpreter<'mir, 'tcx>>,
    pub recursion_limit: Limit,


§machine: CompileTimeInterpreter<'mir, 'tcx>

Stores the Machine instance.

Note: the stack is provided by the machine.

§tcx: TyCtxtAt<'tcx>

The results of the type checker, from rustc. The span in this is the “root” of the evaluation, i.e., the const we are evaluating (if this is CTFE).

§param_env: ParamEnv<'tcx>

Bounds in scope for polymorphic evaluations.

§memory: Memory<'mir, 'tcx, CompileTimeInterpreter<'mir, 'tcx>>

The virtual memory system.

§recursion_limit: Limit

The recursion limit (cached from tcx.recursion_limit(()))


Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 248 bytes