Skip to content

Conversation

@workingjubilee
Copy link
Contributor

wasm-bindgen 0.2.70 is not compatible with a wasm ABI change that rustc wishes to enable by default for wasm32-unknown-unknown, currently gated behind passing the -Zwasm-c-abi flag to rustc.

wasm-bindgen 0.2.89 should exhibit seamless behavior before and after the ABI change to match the C ABI, so depend on that.

For more information, see

wasm-bindgen 0.2.70 is not compatible with a wasm ABI change that
rustc wishes to enable by default for wasm32-unknown-unknown,
currently gated behind passing the -Zwasm-c-abi flag to rustc.

wasm-bindgen 0.2.89 should exhibit seamless behavior before and
after the ABI change to match the C ABI, so depend on that.
Copy link
Collaborator

@lopopolo lopopolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@astraw This looks good to me and I'd like us to do our part to move the ecosystem forward. Once this lands can you prep a release?

@workingjubilee Is this the change I think it is? Does this ABI change allow Rust wasm32-unknown-unknown code interop with clang?

@workingjubilee
Copy link
Contributor Author

workingjubilee commented Aug 25, 2024

@lopopolo Yes, with the required wasm-bindgen minimum and setting -Zwasm-c-abi in RUSTFLAGS, code should have interop with the C ABI of clang. The change rustc wants to make is to permanently enable the effects of that flag by default.

As you might guess, I opened PRs against some of the biggest crates in terms of "depends on wasm-bindgen and has any wasm-bindgen minimum aside from literally just 2". The recent versions already have good uptake of 75%, but I'd like to give things a bit of a firmer push so that it hopefully looks more like 85%~99% of recent downloads before we throw the switch and potentially break people using wasm-bindgen 0.2.87 or less. I figure some of the downloads might be for people who are only indirectly depending on wasm-bindgen, and those are less of a concern. But that's not certain, and I am somewhat hoping they get pulled along when they update their direct dependencies so that we don't have to worry about these known-unknowns.

@workingjubilee
Copy link
Contributor Author

Hmm, I am not sure about some of these tests but the wasm nightly one is because of proc-macro2 constantly trying to "helpfully" opt you into features.

@workingjubilee
Copy link
Contributor Author

Hmm, I am not sure about some of these tests but the wasm nightly one is because of proc-macro2 constantly trying to "helpfully" opt you into features.

Basically, you cannot use -Zminimal-versions and also proc-macro2

@Kijewski Kijewski added dependencies Pull requests that update a dependency file Tier-2 Rust Tier-2 platform labels Aug 26, 2024
@riking
Copy link

riking commented Sep 16, 2024

Bump, the dependency PR has merged.

@astraw astraw merged commit 6c2dedf into strawlab:main Sep 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file Tier-2 Rust Tier-2 platform

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants