wasm-bindgen
wasm-bindgen copied to clipboard
Can't work with wasm32-wasi target from rustc-2021-01-13
rust version: rustc 1.52.0-nightly (a143517d4 2021-02-16) wasm-bindgen: 0.2.71 wasm-bindgen-cli: 0.2.71
use wasm_bindgen::prelude::*;
#[wasm_bindgen]
pub fn greet(_name: &str) {
}
With the above code and cdylib crate-type, I can generate js bindgings on target wasm32-unknown-unknown using wasm-bindgen cli, but not on target wasm32-wasi.
Ths error info when generating binding for wasm32-wasi:
thread 'main' panicked at 'assertion failed: `(left == right)`
left: `1`,
right: `0`', $HOME/.cargo/registry/src/***-df7c3c540f42cdbd/wasm-bindgen-cli-support-0.2.71/src/js/binding.rs:165:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Different parameters(--target) of wasm-bindgen cli are tried, and the same error is reported
I checked the difference, the left part of the figure below is wasm32-unknown-unknown target wat info(only contain greet related), the right part is the wasm32-wasi target wat info, It can be seen that the function interface forms generated by the two platforms are different
This is unfortunately due to https://github.com/rust-lang/rust/pull/79998 where wasm-bindgen is no longer compatible with the wasi target.
This is unfortunately due to rust-lang/rust#79998 where wasm-bindgen is no longer compatible with the wasi target.
Is there a plan to fix this compatibility problem?
I do not personally have one, no.
@alexcrichton Does https://github.com/rust-lang/rust/pull/83763 not count as a plan to fix the incompatibility?
That is thte long-term plan, yes, but it will still take time to get there.
That is thte long-term plan, yes, but it will still take time to get there.
@alexcrichton So is there any hope to get wasm-wasi target back in a few month ?
I do not personally plan on working on it, no.
Wondering if there are any new updates on this front. wasm-bindgen is at the heart of a lot of our code and wasi target is very much desirable
Closing in favor of #2240.