ricochet opened PR #13874 from ricochet:worktree-external-id to bytecodealliance:main:
This plumbs
(external-id "...")annotation added in wasm-tools through Wasmtime's type reflection, mirroring implements. The annotation is a free-form host-defined identifier which is ignored by type checking and is intended to tell the host how to satisfy an import (or interpret an export), e.g. distinguishing two imports of the same interface by a platform-native resource id.The field is added to
ComponentExternDatain wasmtime-environ and populated from wasmparser in both the type-conversion and nested instance exports, including func- and type-level annotations.wasmparser validates
(external-id)behind the samecm-implementsgate as(implements), soConfig::wasm_component_model_implements(true)enables both.Note that adding a public field to
ComponentExternis a breaking change for any embedder constructing or exhaustively destructuring it.
ricochet requested dicej for a review on PR #13874.
ricochet requested wasmtime-core-reviewers for a review on PR #13874.
:thumbs_up: alexcrichton submitted PR review.
:speech_balloon: alexcrichton created PR review comment:
Oh oops I forgot to fill this in from last time, mind filling this and the above TODO out?
:memo: ricochet submitted PR review.
:speech_balloon: ricochet created PR review comment:
yep np. I wasn't sure if it was intentional or not
ricochet updated PR #13874.
github-actions[bot] added the label wasmtime:api on PR #13874.
alexcrichton added PR #13874 Plumb external-id on component import/export to the merge queue.
github-merge-queue[bot] removed PR #13874 Plumb external-id on component import/export from the merge queue.
alexcrichton added PR #13874 Plumb external-id on component import/export to the merge queue.
github-merge-queue[bot] removed PR #13874 Plumb external-id on component import/export from the merge queue.
alexcrichton added PR #13874 Plumb external-id on component import/export to the merge queue.
github-merge-queue[bot] removed PR #13874 Plumb external-id on component import/export from the merge queue.
alexcrichton added PR #13874 Plumb external-id on component import/export to the merge queue.
:check: alexcrichton merged PR #13874.
alexcrichton removed PR #13874 Plumb external-id on component import/export from the merge queue.
Last updated: Jul 29 2026 at 05:03 UTC