Expand description
Compact heap-allocated value types for ValueWord TAG_HEAP.
HeapValue is the heap backing store for ValueWord. Every type that cannot
be stored inline in the ValueWord 8-byte encoding gets a dedicated HeapValue variant.
The enum definition, HeapKind discriminant, kind(), is_truthy(), and
type_name() are all generated from the single source of truth in
define_heap_types! (see heap_variants.rs).
equals() and structural_eq() remain hand-written because they have
complex per-variant logic (e.g. cross-type numeric comparison).
Structs§
- Atomic
Data - Atomic integer for lock-free concurrent access. Only supports integer values (load/store/compare_exchange).
- Data
Reference Data - Data for DataReference variant (boxed to keep HeapValue small).
- Deque
Data - Data for Deque variant — double-ended queue backed by VecDeque.
- Generator
State - Generator function state machine.
- Hash
MapData - Data for HashMap variant (boxed to keep HeapValue small).
- IoHandle
Data - Data for IoHandle variant (boxed to keep HeapValue small).
- Iterator
State - Lazy iterator state — supports chained transforms without materializing intermediates.
- Lazy
Data - Lazy-initialized value — compute once, cache forever. The initializer closure runs at most once; subsequent accesses return the cached result.
- Matrix
Data - Flat, SIMD-aligned matrix storage (row-major order).
- Mutex
Data - Interior-mutable concurrent wrapper. Only type (besides Atomic/Lazy) with
interior mutability —
&Mutex<T>can mutate the inner value vialock(). - Native
Layout Field - Field layout metadata for
type Cstructs. - Native
Type Layout - Runtime layout descriptor for one native type.
- Native
View Data - Pointer-backed zero-copy view into native memory.
- Priority
Queue Data - Data for PriorityQueue variant — binary min-heap.
- SetData
- Data for Set variant (boxed to keep HeapValue small).
- Simulation
Call Data - Data for SimulationCall variant (boxed to keep HeapValue small).
Enums§
- Channel
Data - MPSC channel endpoint (sender or receiver).
- Heap
Kind - Discriminator for HeapValue variants, usable without full pattern match.
- Heap
Value - Compact heap-allocated value for ValueWord TAG_HEAP.
- IoHandle
Kind - I/O handle kind discriminant.
- IoResource
- The underlying OS resource wrapped by an IoHandle.
- Iterator
Transform - A lazy transform in an iterator chain.
- Native
Scalar - Width-aware native scalar for C interop.