I think we should remove unions from WIT: https://github.com/WebAssembly/component-model/issues/236
I suppose if we want to maintain the 1:1 mapping from CM types then that would entail removing them from the CM type system as well.
I'm slightly skeptical of tuples as well, but I think a lot more languages have a "natural" representation of tuples than unions.
:thumbs_up: unions are awkward in Python, too.
commented as well, but I agree they'd be good to remove :+1:
Given the feedback from Alex and Luke on the issue, I cross-posted reference issues to wit-bindgen and wasmtime for visibility
I have not even used the wit unions, for me, variant is just better.
For those following along at home, unions have been dropped from the spec and from wasm-tools, with PRs ready in wit-bindgen and wasmtime just awaiting dependency releases
Scott Waye has marked this topic as resolved.
Scott Waye has marked this topic as unresolved.
Sorry, marked wrong topic as resolved.
Actually, with https://github.com/bytecodealliance/wasmtime/pull/6913 merged, this is done. Farewell unions, we hardly knew used thee.
Lann Martin has marked this topic as resolved.
Last updated: Jan 10 2026 at 02:36 UTC