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

make rustc_encodable_decodable feature properly unstable #134272

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

RalfJung
Copy link
Member

@RalfJung RalfJung commented Dec 13, 2024

This has been shown in future-compat reports since Rust 1.79 (#116016). Let's see if crater still finds any issues.

Part of #134301.

Cc @rust-lang/libs-api

@rustbot
Copy link
Collaborator

rustbot commented Dec 13, 2024

r? @ibraheemdev

rustbot has assigned @ibraheemdev.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Dec 13, 2024
@RalfJung RalfJung force-pushed the destabilize-rustc_encodable_decodable branch from 2993504 to 3ce5d1d Compare December 13, 2024 17:38
@RalfJung
Copy link
Member Author

RalfJung commented Dec 13, 2024

Hm, seeing the discussion in #116016 it seems like the plan was to move much more slowly with this? There's no separate tracking issue for the de-stabilization of this as far as I can see, so it's all a bit unclear.

I guess we'll see what crater says.
@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 13, 2024
…_decodable, r=<try>

make rustc_encodable_decodable feature properly unstable

This has been shown in future-compat reports since Rust 1.79 (rust-lang#116016). Let's see if crater still finds any issues.

Cc `@rust-lang/libs-api`
@bors
Copy link
Contributor

bors commented Dec 13, 2024

⌛ Trying commit 3ce5d1d with merge 79200d6...

@rust-log-analyzer

This comment has been minimized.

@RalfJung RalfJung force-pushed the destabilize-rustc_encodable_decodable branch from 3ce5d1d to 88960fd Compare December 13, 2024 18:10
@RalfJung
Copy link
Member Author

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request Dec 13, 2024
…_decodable, r=<try>

make rustc_encodable_decodable feature properly unstable

This has been shown in future-compat reports since Rust 1.79 (rust-lang#116016). Let's see if crater still finds any issues.

Cc `@rust-lang/libs-api`
@bors
Copy link
Contributor

bors commented Dec 13, 2024

⌛ Trying commit 88960fd with merge 09ea730...

@compiler-errors compiler-errors added S-waiting-on-crater Status: Waiting on a crater run to be completed. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 13, 2024
@bors
Copy link
Contributor

bors commented Dec 13, 2024

☀️ Try build successful - checks-actions
Build commit: 09ea730 (09ea730c380b8b9acb96ff87b724c45df920f793)

@RalfJung
Copy link
Member Author

@craterbot check

@craterbot
Copy link
Collaborator

👌 Experiment pr-134272 created and queued.
🤖 Automatically detected try build 09ea730
🔍 You can check out the queue and this experiment's details.

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@RalfJung RalfJung force-pushed the destabilize-rustc_encodable_decodable branch from 88960fd to e9804a3 Compare December 14, 2024 10:04
@jhpratt
Copy link
Member

jhpratt commented Dec 14, 2024

I don't think there really was a plan — soft destabilizing it was the extent to which it was discussed afaik.

@RalfJung
Copy link
Member Author

RalfJung commented Dec 14, 2024

There's some mixed messaging here: the ACP says "full destabilization is not proposed due to breakage of existing code", but the lint that is emitted when using these types says this "will become a hard error in a future release".

@jhpratt
Copy link
Member

jhpratt commented Dec 14, 2024

Ha, that's 100% on me. It must have been discussed on Zulip, as I wasn't aware soft destabilization was a thing before that. Anyways, it doesn't much matter.

@RalfJung
Copy link
Member Author

Well, seems like nobody complained about the future compat "this will become a hard error" warning that we have emitted for more than half a year now (and that is shown even when this occurs just in a dependency), so let's just see what crater says.

@craterbot
Copy link
Collaborator

🚧 Experiment pr-134272 is now running

ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot
Copy link
Collaborator

🎉 Experiment pr-134272 is completed!
📊 286 regressed and 48 fixed (553892 total)
📰 Open the full report.

⚠️ If you notice any spurious failure please add them to the denylist!
ℹ️ Crater is a tool to run experiments across parts of the Rust ecosystem. Learn more

@craterbot craterbot removed the S-waiting-on-crater Status: Waiting on a crater run to be completed. label Dec 18, 2024
@craterbot craterbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Dec 18, 2024
@Skgland
Copy link
Contributor

Skgland commented Dec 18, 2024

Analysis the regressed results with https://github.com/Skgland/Crater-Analysis yields:

139 times error[E0658]: use of unstable library feature `rustc_encodable_decodable`
121 times no space left on device
21 times collect2: fatal error: ld terminated with signal 7 [Bus error]

And five other

  • "indutny.bulk-gcd.59c6117a35e323b1cd959c6cac3596f703669e65"
  • "jakubo87.heal.0fbe28eb6adc85f22a278d0bb87026553de9dbbd"
  • "noorulislam770.rust-std-lib.f8087a3d86cb559a3c3c2d1e6bd8338b60b6fd28"
  • "tomshlomo.json-unix-time-staging.1d750b8553cafc1d4c3c233207a80c8e1c53af6b"
  • "xswordsx.ff.2e9778658b16c72d5516cea04da3a9b8b0eea557"

@RalfJung
Copy link
Member Author

RalfJung commented Dec 20, 2024

I've done an in-depth analysis of the crates.io failures at https://hackmd.io/@RalfJung/HyXfMpGH1e. (I did not look at the github repo failures.) There are 73 true regressions.

Almost all of them are due to crates depending on num 0.1, which is ancient. v0.2 has been released more than 6 years ago, so likely all that code is basically unmaintained. This covers 61 of the true regressions. Everything else falls into two categories:

So, it seems like the impact on maintained code is negligible. Nominating for t-libs-api discussion.

@RalfJung RalfJung added I-libs-api-nominated Nominated for discussion during a libs-api team meeting. S-waiting-on-team Status: Awaiting decision from the relevant subteam (see the T-<team> label). labels Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-libs-api-nominated Nominated for discussion during a libs-api team meeting. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. S-waiting-on-team Status: Awaiting decision from the relevant subteam (see the T-<team> label). T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants