Expand description

This module contains everything needed to instantiate an interpreter. This separation exists to ensure that no fancy miri features like interpreting common C functions leak into CTFE.

Macros

  • A lot of the flexibility above is just needed for Miri, but all “compile-time” machines (CTFE and ConstProp) use the same instance. Here, we share that code.

Enums

  • Data returned by Machine::stack_pop, to provide further control over the popping of the stack frame

Traits

  • The functionality needed by memory to manage its allocations
  • Methods of this trait signifies a point where CTFE evaluation would fail and some use case dependent behaviour can instead be applied.
  • Whether this kind of memory is allowed to leak