Direct pointer source construction. Global relocation adjustment runs on actual machine state and never synthesizes a stack. Only external allocation addresses and extern-static resolution remain genuine external capabilities; managed address generation, salt choices and borrow root tags are source code. Human-facing int-to-pointer diagnostics are omitted under the project scope.
These are internal address invariants/resource stops, never Rust UB.
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.PointerSource.addressError Miri.Memory.AllocAddresses.AddressStateError.strictIntegerToPointerCast = Miri.Interpreter.StepError.machineStop "Int2PtrWithStrictProvenance"
- Miri.Interpreter.PointerSource.addressError Miri.Memory.AllocAddresses.AddressStateError.strictAddressLookup = Miri.Interpreter.StepError.machineStop "Int2PtrWithStrictProvenance"
- Miri.Interpreter.PointerSource.addressError x✝ = Miri.Interpreter.StepError.invalidProgram (toString "allocation address invariant: " ++ toString (toString x✝))
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Actual lazy materialization is used for exposure; it is not a successful empty-tree callback. All address operations retain the same canonical maps.
Equations
- One or more equations did not get rendered due to their size.
Instances For
memory.rs global_root_pointer checks TLS/extern before the machine root adjustment. Extern statics return their source pointer directly. Root tags are installed before address assignment, retaining that prefix if assignment fails.
Equations
- One or more equations did not get rendered due to their size.