Remove wasm legacy abi by bjorn3 · Pull Request #133952 · rust-lang/rust (original) (raw)
No, this is not the plan we agreed upon.
This changes the default at the same time it removes the flag. This is not something that can be easily switched over to for code that needs to test/run on multiple Rust versions.
There was an explicit plan in #122532 (comment), and it seemed to be what everyone coalesced around:
If you're ok with that, that seems like a reasonable plan to move forward to me, with a possible schedule looking like:
- Land FCW + write blog post.
- Wait for FCW to hit stable
- Change -Zwasm-c-abi default in nightly once FCW is on stable
- Wait for new default to hit stable
- Remove FCW + -Zwasm-c-abi
Admittedly, this is slightly different from what is in the blog post, which makes no claims about when the default will switch over. I should have noticed that oversight, my bad.
The current change puts us in a situation where we cannot write code that targets multiple versions at once. This is a crucial stage in managing transitions: you start with code that only works with the old thing, and then you move to code that works with both the old and new thing, and you finally end up with code that only works with the new thing.
Personally speaking I don't need the legacy ABI to be maintained as a flag: it is sufficient for the -Zwasm-c-abi
flag to become a singleton flag that is a no-op.
We might have workarounds for this, but it's somewhat frustrating that this is still being handled in a hard-to-transition way after tedious discussions about trying not to do that.