jrandolf opened issue #14862:
A few gaps in how
implements/external-idare exposed through the embedder API:
Component::get_exportandInstance::get_exportreturn only theComponentItem, so an export's attributes are only reachable by iteratingcomponent_type().exports(). The data is stored ininfo::Export::Instancebut never read.- Root-level type imports (e.g.
(import "t" (external-id "x") (type (eq $u)))) are missing fromcomponent_type().imports(), while root type exports are present.ComponentExtern's lifetime is tied to the&Engineborrow even though its strings borrow from the type (ty.get_import(&engine.clone(), "p")doesn't compile), and the struct isn't#[non_exhaustive], so adding a field (say, a version suffix for canonical names) would be a breaking change.
alexcrichton added the wasm-proposal:component-model-implements label to Issue #14862.
jrandolf closed issue #14862:
A few gaps in how
implements/external-idare exposed through the embedder API:
Component::get_exportandInstance::get_exportreturn only theComponentItem, so an export's attributes are only reachable by iteratingcomponent_type().exports(). The data is stored ininfo::Export::Instancebut never read.- Root-level type imports (e.g.
(import "t" (external-id "x") (type (eq $u)))) are missing fromcomponent_type().imports(), while root type exports are present.ComponentExtern's lifetime is tied to the&Engineborrow even though its strings borrow from the type (ty.get_import(&engine.clone(), "p")doesn't compile), and the struct isn't#[non_exhaustive], so adding a field (say, a version suffix for canonical names) would be a breaking change.
jrandolf commented on issue #14862:
We don't have a concrete need for this, so I'm closing it.
Last updated: Oct 31 2026 at 23:03 UTC