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

Introduce perma-unstable wasm-c-abi flag #703

Closed
daxpedda opened this issue Dec 11, 2023 · 7 comments
Closed

Introduce perma-unstable wasm-c-abi flag #703

daxpedda opened this issue Dec 11, 2023 · 7 comments
Labels
major-change A proposal to make a major change to rustc major-change-accepted A major change proposal that was accepted T-compiler Add this label so rfcbot knows to poll the compiler team

Comments

@daxpedda
Copy link

daxpedda commented Dec 11, 2023

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

@daxpedda daxpedda added major-change A proposal to make a major change to rustc T-compiler Add this label so rfcbot knows to poll the compiler team labels Dec 11, 2023
@rustbot
Copy link
Collaborator

rustbot commented Dec 11, 2023

This issue is not meant to be used for technical discussion. There is a Zulip stream for that. Use this issue to leave procedural comments, such as volunteering to review, indicating that you second the proposal (or third, etc), or raising a concern that you would like to be addressed.

Concerns or objections to the proposal should be discussed on Zulip and formally registered here by adding a comment with the following syntax:

@rustbot concern reason-for-concern 
<description of the concern> 

Concerns can be lifted with:

@rustbot resolve reason-for-concern 

See documentation at https://forge.rust-lang.org

cc @rust-lang/compiler @rust-lang/compiler-contributors

@rustbot rustbot added the to-announce Announce this issue on triage meeting label Dec 11, 2023
@apiraino apiraino removed the to-announce Announce this issue on triage meeting label Dec 14, 2023
@liamrosenfeld

This comment was marked as off-topic.

@daxpedda

This comment was marked as off-topic.

@RalfJung

This comment was marked as off-topic.

@rust-lang rust-lang locked as off-topic and limited conversation to collaborators Feb 28, 2024
@oli-obk
Copy link
Contributor

oli-obk commented Feb 28, 2024

Please keep the conversation in the zulip thread linked in #703 (comment)

@jackh726
Copy link
Member

@rustbot second

This will need a tracking issue. This second is also predicated on the overall plan of moving towards a spec-compliant ABI continues as expected. If that changes, the flag should be removed (or at least reevaluated!)

@rustbot rustbot added the final-comment-period The FCP has started, most (if not all) team members are in agreement label Feb 28, 2024
@apiraino
Copy link
Contributor

@rustbot label -final-comment-period +major-change-accepted

@rustbot rustbot added major-change-accepted A major change proposal that was accepted to-announce Announce this issue on triage meeting and removed final-comment-period The FCP has started, most (if not all) team members are in agreement labels Mar 14, 2024
@apiraino apiraino removed the to-announce Announce this issue on triage meeting label Mar 14, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
major-change A proposal to make a major change to rustc major-change-accepted A major change proposal that was accepted T-compiler Add this label so rfcbot knows to poll the compiler team
Projects
None yet
Development

No branches or pull requests

7 participants