-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Skip stage 0 libstd #49119
Skip stage 0 libstd #49119
Conversation
59a304c
to
72b2df2
Compare
This removes the compiler dependency on the |
81d331f
to
80afbd2
Compare
Thanks for the PR! I think there's both some pros and cons to a change like this. When working on the standard library it's quite nice that a stage0 build includes libstd, and when adding an unstable method to libstd which is destined for usage in librustc it's also quite convenient that you can add it and then use it immediately in librustc. Finally the amount of time taken to build one stage of libstd is quite small across the aggregate of all our CI builds, I think it accounts for maybe a total of an hour for the 7.5 days of cpu time we burn on each CI run (aka ~1 minute of a 3 hour build). On the other hand, though, this is clearly a reduction in CI time (small though it may be) and it also means we'd probably never need to write |
We should not be adding thing to libstd which are only used by librustc. I consider it a pro that this PR would make that harder. We don't need to wait for the PR to be ready to discuss things, so I'm just going to cc some teams already ;) |
Since I never work on the compiler but sometimes work on std, I'd be eager for changes that result in separating the build process for these two components. |
cd08d7b
to
87ed2d3
Compare
87ed2d3
to
5c05fd7
Compare
I think this is fine in the current climate of changes and releases, it's not as annoying anymore. |
6052df2
to
87de11a
Compare
This comment has been minimized.
This comment has been minimized.
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
☔ The latest upstream changes (presumably #50807) made this pull request unmergeable. Please resolve the merge conflicts. |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
Another datapoint: this would make const-ifying libstd way easier since it's generally blocked on teaching the compiler how to constify more stuff, leading to tons of stage0 cfgs. |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@Mark-Simulacrum This breaks your tests. |
I'm not seeing this in the diff, but perhaps I'm missing it? I believe the tests are failing for the case where if I think the tests can just be updated to fix the failures. It looks like doing that would be the correct diff given this patch. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@TimNN the last @rust-highfive comment doesn't contain what the error was. |
Ping from triage @Zoxc! It's been a while since we heard from you, will you have time to work on this again? |
☔ The latest upstream changes (presumably #51138) made this pull request unmergeable. Please resolve the merge conflicts. |
@Zoxc, we haven't heard from you in two weeks, so we are closing this PR for now to keep the queue clean. Feel free to re-open in the future. |
r? @alexcrichton