Pinned interpret/call.rs:74–385: trivial ABI, transparent/NPO unfolding,
C structural equality and argument compatibility. Compiler type queries are
required fallible operations; no unknown predicate becomes false or true.
A depth budget makes recursive compiler queries executable and reports resource
exhaustion explicitly. The budget is not a bound on Rust execution semantics.
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- name : String
- ty : Ty
Instances For
def
Miri.Interpreter.LayoutCompat.instReprField.repr
{Ty✝ : Type}
[Repr Ty✝]
:
Field Ty✝ → Nat → Std.Format
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
- tuple {Ty : Type} : TypeKind Ty
- never {Ty : Type} : TypeKind Ty
- functionDefinition {Ty : Type} : TypeKind Ty
- closure {Ty : Type} : TypeKind Ty
- coroutine {Ty : Type} : TypeKind Ty
- coroutineClosure {Ty : Type} : TypeKind Ty
- array {Ty : Type} (element : Ty) : TypeKind Ty
- adt {Ty : Type} : TypeKind Ty
- pattern {Ty : Type} (base : Ty) : TypeKind Ty
- unsafeBinder {Ty : Type} : TypeKind Ty
- alias {Ty : Type} : TypeKind Ty
- reference {Ty : Type} (pointee : Ty) : TypeKind Ty
- rawPointer {Ty : Type} (pointee : Ty) : TypeKind Ty
- functionPointer {Ty : Type} : TypeKind Ty
- integer {Ty : Type} (kind : MIR.IntegerKind) : TypeKind Ty
- char {Ty : Type} : TypeKind Ty
- other {Ty : Type} : TypeKind Ty
Instances For
def
Miri.Interpreter.LayoutCompat.instReprTypeKind.repr
{Ty✝ : Type}
[Repr Ty✝]
:
TypeKind Ty✝ → Nat → Std.Format
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
Equations
@[reducible, inline]
Equations
Instances For
- target : ABI.RuntimeTargetDataLayout
- field : ABI.TyAndLayout Ty → Nat → M S (ABI.TyAndLayout Ty)
- layoutOf : Ty → M S (ABI.TyAndLayout Ty)
- unitLayout : M S (ABI.TyAndLayout Ty)
- eraseUnsafeBinder : Ty → M S Ty
- normalize : Ty → M S Ty
- boxedType : Ty → M S Ty
- pointerMetadataType : Ty → M S Ty
ptr_metadata_ty must normalize projected unsized-tail types, exactly as the source closure does, rather than comparing only top-level pointees.
Instances For
def
Miri.Interpreter.LayoutCompat.hasTrivialAbi
{Ty S : Type}
(q : Queries Ty S)
:
Nat → ABI.TyAndLayout Ty → M S Bool
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.LayoutCompat.hasTrivialAbi q 0 x✝ = Miri.Interpreter.LayoutCompat.exhausted✝
Instances For
The three source may_unfold closures, represented without a second IR.
- All : UnfoldPolicy
- Structs : UnfoldPolicy
- StructsUntilNpo : UnfoldPolicy
Instances For
@[instance_reducible]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
def
Miri.Interpreter.LayoutCompat.unfoldTransparent
{Ty S : Type}
(q : Queries Ty S)
(policy : UnfoldPolicy)
:
Nat → ABI.TyAndLayout Ty → M S (ABI.TyAndLayout Ty)
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.LayoutCompat.unfoldTransparent q policy 0 x✝ = Miri.Interpreter.LayoutCompat.exhausted✝
Instances For
def
Miri.Interpreter.LayoutCompat.unfoldNpo
{Ty S : Type}
(q : Queries Ty S)
(fuel : Nat)
(layout : ABI.TyAndLayout Ty)
:
M S (ABI.TyAndLayout Ty)
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.LayoutCompat.unfoldNpo q 0 layout = Miri.Interpreter.LayoutCompat.exhausted✝
Instances For
def
Miri.Interpreter.LayoutCompat.identicalCTypes
{Ty S : Type}
[DecidableEq Ty]
(q : Queries Ty S)
:
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.LayoutCompat.identicalCTypes q 0 x✝¹ x✝ = Miri.Interpreter.LayoutCompat.exhausted✝
Instances For
def
Miri.Interpreter.LayoutCompat.layoutCompat
{Ty S : Type}
[DecidableEq Ty]
(q : Queries Ty S)
(fuel : Nat)
(caller callee : ABI.TyAndLayout Ty)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Miri.Interpreter.LayoutCompat.checkArgumentCompat
{Ty S : Type}
[DecidableEq Ty]
(q : Queries Ty S)
(fuel : Nat)
(caller callee : ABI.ArgAbi Ty)
:
Equations
- One or more equations did not get rendered due to their size.