Proposal
Currently Rust uses a non-spec-compliant ABI for extern "C" fn when compiling to wasm32-unknown-unknown. Unfortunately, as a large part of the Rust ecosystem relies on wasm-bindgen, which didn't support the spec-compliant ABI, switching to the spec-compliant ABI was problematic as it would break a lot of code out there.
With wasm-bindgen v0.2.88, it now supports the spec-compliant ABI, so hopefully some day in the future Rust can switch to this ABI. In the meantime it would be important for users to test this new ABI, which is the purpose of this MCP: to introduce a new flag which switches to this new ABI when targetting wasm32-unknown-unknown.
This flag would be perma-unstable, as there is no point to stabilize it and then just deprecate it when the new ABI becomes the default.
Related issue: rust-lang/rust#71871
Implementation PR: rust-lang/rust#117919
Proposal
Currently Rust uses a non-spec-compliant ABI for
extern "C" fnwhen compiling towasm32-unknown-unknown. Unfortunately, as a large part of the Rust ecosystem relies onwasm-bindgen, which didn't support the spec-compliant ABI, switching to the spec-compliant ABI was problematic as it would break a lot of code out there.With
wasm-bindgenv0.2.88, it now supports the spec-compliant ABI, so hopefully some day in the future Rust can switch to this ABI. In the meantime it would be important for users to test this new ABI, which is the purpose of this MCP: to introduce a new flag which switches to this new ABI when targettingwasm32-unknown-unknown.This flag would be perma-unstable, as there is no point to stabilize it and then just deprecate it when the new ABI becomes the default.
Related issue: rust-lang/rust#71871
Implementation PR: rust-lang/rust#117919