37 releases
new 0.2.99 | Dec 7, 2024 |
---|---|
0.2.97 | Nov 30, 2024 |
0.2.92 | Mar 4, 2024 |
0.2.89 | Nov 27, 2023 |
0.2.67 | Jul 28, 2020 |
#1502 in WebAssembly
149,271 downloads per month
Used in 37 crates
(via wasm-bindgen-cli-support)
46KB
806 lines
Transformation for wasm-bindgen to enable usage of externref
in a wasm
module.
This crate is in charge of enabling code using wasm-bindgen
to use the
externref
type inside of the Wasm module. This transformation pass primarily
wraps exports and imports in shims which use externref
, but quickly turn them
into i32
value types. This is all largely a stopgap until Rust has
first-class support for the externref
type, but that's thought to be in the
far future and will take quite some time to implement. In the meantime, we
have this!
The pass here works by collecting information during binding generation
about imports and exports. Afterwards this pass runs in one go against a
Wasm module, updating exports, imports, calls to these functions, etc. The
goal at least is to have valid Wasm modules coming in that don't use
externref
and valid Wasm modules going out which use externref
at the fringes.
Dependencies
~5.5MB
~114K SLoC