Skip to main content

Module native_kind

Module native_kind 

Source
Expand description

NativeKind: the single discriminator for typed values at every ABI exit.

Used by:

  • shape-vm compile-time proof: prove_native_kind() -> Result<NativeKind, ProofGap>
  • Marshal layer (shape-runtime::typed_module_exports): (u64 bits, NativeKind kind) paired
  • Wire/snapshot serialization: slot_to_wire(bits, kind, ctx)
  • JIT FFI boundary

Previously named SlotKind; renamed and moved out of shape-vm/type_tracking.rs into the foundational shape-value crate during the strict-typing Phase 2b marshal-layer landing. The single-discriminator rule prevents the two-parallel- discriminator drift trap (see docs/defections.md 2026-05-06 — Phase 2b).

NativeKind::Dynamic and NativeKind::Unknown are both deleted — the bulldozer removed them per the strict-typed plan. Every slot has a proven kind at compile time or it’s a compile error. There is no fallback variant.

Enums§

NativeKind
Storage discriminator for a single 8-byte typed slot.