Documentation

Miri.Interpreter.TypedMemoryProviders

Canonical typed-memory provider closure: address resolution retains source TB tag/wildcard extras, and discriminant execution consumes actual compiler facts plus real typed field reads/writes. No synthetic stack is constructed.

Source ptr_try_get_alloc_id performs address lookup without ordinary access hooks. Parent provenance is reduced only to its source tag/wildcard extra; allocation identity stays in ResolvedPointer.allocId and the address cache.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Lifecycle's older resolver boundary has no typed error variant; preserve that error in AccessState.pendingError, which AllocationMachine propagates before classifying its legacy pointer failure. Resolution failure commits no allocation removal or byte effects.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        All five discriminant compiler queries come from actual exporter evidence. Read/write field operations are canonical source projections and typed memory; source invalid-tag/niche/order logic remains the existing Discriminant driver.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Rvalue and Aggregate run exactly the same discriminant record, so direct, niche and uninhabited checks cannot diverge between reads and tag writes.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For