Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Depend on wasm-bindgen 0.2.89 or higher #134

Merged
merged 1 commit into from
Sep 16, 2024

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
49 of 54 checks passed
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