# Canonical-ABI wire names of the future<T>-VALUE probe core module
# (guest/, wit-bindgen 0.60, async: true), captured from the wasm import/
# export sections. This is the capture ../README.md called out as missing:
# an import returning a future<u32> VALUE the guest reads itself, forcing
# the literal future.* built-ins that a bare `async func() -> u32` elides
# (its wait folds into [async-lower] -- see ../canon-imports-exports.wit-abi.txt).
#
# imports (module :: name)
$root :: [context-get-0]
$root :: [context-set-0]
$root :: [async-lower]get-future
[export]$root :: [task-return]run
[export]$root :: [task-cancel]
$root :: [subtask-drop]
$root :: [subtask-cancel]
$root :: [waitable-set-poll]
$root :: [waitable-set-new]
$root :: [waitable-join]
$root :: [waitable-set-drop]
$root :: [async-lower][future-write-0]get-future
$root :: [async-lower][future-read-0]get-future
$root :: [future-cancel-write-0]get-future
$root :: [future-cancel-read-0]get-future
$root :: [future-drop-writable-0]get-future
$root :: [future-drop-readable-0]get-future
$root :: [future-new-0]get-future
#
# exports
memory
[async-lift]run
[callback][async-lift]run
cabi_realloc_wit_bindgen_0_60_0
cabi_realloc
__data_end
__heap_base
#
# Readings for component_codegen.vibe (ADR-0089 Part B item 2):
# 1. future.* built-ins are named PER INTRODUCING FUNCTION and per future
#    type index within that function's signature: [future-<op>-N]<func>
#    (here N=0, func=get-future). Emission must key the name on the WIT
#    function that introduces the future type, not on a global counter.
# 2. future.read arrives ASYNC-LOWERED: [async-lower][future-read-0]... --
#    the read is itself a two-phase waitable-backed call, riding the same
#    waitable-set machinery (waitable-set-new/-poll/-join) as every other
#    async lower. A blocking-read emission can treat it exactly like the
#    existing [async-lower] import call shape under the stackful config.
# 3. The full lifecycle set is imported even though the guest only READS:
#    new/write/cancel-write/drop-writable come along for the type. Baseline
#    emissions can import only what they call, but wit-bindgen's precedent
#    is the full set per type.
# 4. The generic task/waitable machinery is IDENTICAL to the bare-async
#    probes (context-get/set-0, subtask-*, task-return/cancel), confirming
#    future values add no new task plumbing -- only the future.* family.
