Pinned shims/sig.rs signature/varargs policies, and rustc interpret/intrinsics.rs::validate_c_variadic_compatible_ty. Query budgets are concrete execution resources; their exhaustion is unresolved, never UB/success.
Instances For
- yes : Compatible
- no : Compatible
- castInteger (sourceSigned : Bool) : Compatible
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Miri.Interpreter.ShimSignatures.instDecidableEqCompatible.decEq Miri.Interpreter.ShimSignatures.Compatible.yes Miri.Interpreter.ShimSignatures.Compatible.yes = isTrue ⋯
- Miri.Interpreter.ShimSignatures.instDecidableEqCompatible.decEq Miri.Interpreter.ShimSignatures.Compatible.yes (Miri.Interpreter.ShimSignatures.Compatible.castInteger sourceSigned) = isFalse ⋯
- Miri.Interpreter.ShimSignatures.instDecidableEqCompatible.decEq Miri.Interpreter.ShimSignatures.Compatible.no Miri.Interpreter.ShimSignatures.Compatible.no = isTrue ⋯
- Miri.Interpreter.ShimSignatures.instDecidableEqCompatible.decEq Miri.Interpreter.ShimSignatures.Compatible.no (Miri.Interpreter.ShimSignatures.Compatible.castInteger sourceSigned) = isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
- foreign : ForeignItems.Hooks P S D MD Ptr B I
- types : LayoutCompat.Queries MIR.TyId S
- readScalar : OpTy P → M S (Memory.Scalar P)
- hostUsizeBits : Nat
Width of the host usize used by source strict_add diagnostics.
Instances For
Nonrecursive exact-signature effects for fixed shims that do not need variadic type compatibility. This avoids requiring a complete platform ForeignItems dispatch merely to validate one source family.
- foreign : ForeignItems.Core P S D MD Ptr B I
Instances For
Signature-only projection for source dispatchers that need no recursive foreign-item fallback. This keeps fixed shim validation tied to the actual ABI/symbol/transmute primitives while avoiding a dependency on a complete platform hook record.
- family : ForeignItems.Family
- os : String
- transmute : OpTy P → ABI.TyAndLayout MIR.TyId → M S (OpTy P)
Instances For
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.
- Miri.Interpreter.ShimSignatures.compatible h 0 x✝¹ x✝ = throw (Miri.Interpreter.StepError.resourceExhaustion "C variadic type recursion budget")
Instances For
The closure has already built the exact compiler signature (source ShimSig.as_abi); ABI checks precede symbol-clash checks and operand transmutes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fixed-signature source path over the nonrecursive foreign primitive core; the ABI check, symbol clash, then argument transmute order is unchanged.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Fixed shim validation over the minimal source signature primitives. The source order remains ABI check, symbol clash, then argument transmutation.
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
Check the entire prefix for C type compatibility before transmuting any operand. Signed/unsigned pairs share source signed-at-width value checking.
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.