Pinned step.rs write_aggregate and write_repeat. The same MIR operands and canonical layouts flow through RvalueHooks; stateful obligations retain effects on failure. No field write is treated as initialization of aggregate padding.
- target : ABI.TargetDataLayout
- placeLayout : V → LocalLayout
- evalOperand : C → MIR.Operand → Option LocalLayout → RvalueM S (OpTy Prov)
- evalOperandAt : C → OperandPath → MIR.Operand → Option LocalLayout → RvalueM S (OpTy Prov)
- readPointer : C → OpTy Prov → RvalueM S (Memory.Pointer (Option Prov))
- readScalar : C → OpTy Prov → RvalueM S (Memory.Scalar Prov)
- projectDowncast : C → V → MIR.VariantIndex → RvalueM S V
- projectField : C → V → MIR.FieldIndex → RvalueM S V
- writeDiscriminant : C → MIR.VariantIndex → V → RvalueM S Unit
- enforceValidity : C → LocalLayout → RvalueM S Bool
Includes recursive validity policy and reset_provenance_and_padding=true.
- forceAllocation : C → V → RvalueM S V
- placePointer : V → Except StepError (Memory.Pointer (Option Prov))
- wrappingOffset : Memory.Pointer (Option Prov) → ABI.Size → Except StepError (Memory.Pointer (Option Prov))
- memCopyRepeatedly : C → Memory.Pointer (Option Prov) → Memory.Pointer (Option Prov) → ABI.Size → UInt64 → Bool → RvalueM S Unit
No alignment requirement: first-element copy already checked it. Must retain nonoverlapping checks, memory hooks and partial mutations.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
The repeat count is the destination array length. Even zero-length repeats first evaluate the operand and force allocation, then validate mutable access. Positive lengths copy once and replicate the resulting bytes; the source can alias the destination, so evaluating/copying every element would be incorrect.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Install the aggregate/repeat source ports into the existing rvalue dispatch.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Actual pointer wrapping arithmetic, retaining provenance and target width.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Concrete repeated-copy adapter to existing allocation/memory semantics. The supplied state embedding must preserve unrelated execution state.
Equations
- One or more equations did not get rendered due to their size.