pub fn on_vm_stack<R: Send>(body: impl FnOnce() -> R + Send) -> RExpand description
Run body on a thread that holds the RUNTIME_STACK_SIZE contract.
A caller that drives the VM from a thread it did not create borrows
whatever stack that thread was given. The test harness is where this keeps
happening: a case that builds a Tokio runtime on the libtest thread creates
no thread of its own, so it runs the VM on libtest’s stack. That stack is
large enough only because every CI lane exports RUST_MIN_STACK, and a
developer machine without it aborts the whole test binary on one ordinary
agent loop (harn#7962). An abort is not a failed case: every later case in
the binary silently never runs.
Panics propagate to the caller unchanged, so a failing assertion inside
body still fails its own test.