#[unsafe(no_mangle)]pub extern "C" fn jit_print_iterator(
ctx_ptr: *const JITContext,
bits: u64,
)Expand description
Print an Arc<IteratorState>-shaped slot as the opaque tag
<iterator> (lazy iterators have no user-facing print form; a
terminal operation must materialize the values per
printing.rs:430-439). Dispatched when the operand kind is proven
NativeKind::Ptr(HeapKind::Iterator).
Mirrors jit_print_mutex — delegates to the canonical VM-side
ValueFormatter::format_kinded. Note: per inventory §E.5 the
Iterator HeapKind belongs to the Collection family (NOT the
pure-discriminator family per ADR-006 §2.7.16 / Q17
W13-iterator-state) — HeapValue::Iterator(Arc<IteratorState>)
participates in the §2.3 typed-Arc payload pattern, the dispatch
arm in format_heap_kind at printing.rs:430 reads the bits as
*const IteratorState and the Display rendering is the opaque
tag.
SAFETY: bits must be Arc::into_raw(Arc<IteratorState>) as u64
per the producer-site contract on every
KindedSlot::from_iterator-shaped producer (VM-side iterator-pipeline
factory builtins).
ADR-006 §2.7.5.B 2026-05-16