-
Notifications
You must be signed in to change notification settings - Fork 1.8k
internal: Sync from rust #15899
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
internal: Sync from rust #15899
Conversation
They've been deprecated for four years. This commit includes the following changes. - It eliminates the `rustc_plugin_impl` crate. - It changes the language used for lints in `compiler/rustc_driver_impl/src/lib.rs` and `compiler/rustc_lint/src/context.rs`. External lints are now called "loaded" lints, rather than "plugins" to avoid confusion with the old plugins. This only has a tiny effect on the output of `-W help`. - E0457 and E0498 are no longer used. - E0463 is narrowed, now only relating to unfound crates, not plugins. - The `plugin` feature was moved from "active" to "removed". - It removes the entire plugins chapter from the unstable book. - It removes quite a few tests, mostly all of those in `tests/ui-fulldeps/plugin/`. Closes #29597.
Hold on, I'll try to redo this to get rid of most of the merge commits. For some reason, I end up with hundreds of conflicts when I do it in one go, but only a couple of them if I do it in smaller steps. |
0024458
to
6b53c09
Compare
Is that because we merged things here while the other sync was going on? I don't remember when we had to pause changes and when not |
Yes, but yesterday's sync was based off the previous release (Nov 6) and it was such a pain I didn't know it would work in the end, so didn't start again from the one on Nov 13. For the record, it looks like the best way to merge these back is to do it first up to the release (Nov 6), then merge everything un master. That avoids most conflicts. |
@@ -3,6 +3,10 @@ | |||
//! Based on cli flags, either spawns an LSP server, or runs a batch analysis | |||
|
|||
#![warn(rust_2018_idioms, unused_lifetimes, semicolon_in_expressions_from_macros)] | |||
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))] | |||
#[cfg(feature = "in-rust-tree")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This either expands to:
#[allow(unused_extern_crates)]
extern crate rustc_driver;
or to nothing, right? At least it still works without the feature enabled.
I should know, but..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, the cfg
configures the whole annotated item, including its attributes
#![warn(rust_2018_idioms, unused_lifetimes, semicolon_in_expressions_from_macros)] | ||
#![cfg_attr(feature = "in-rust-tree", feature(rustc_private))] | ||
#![recursion_limit = "128"] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Guess we can drop the recursion limit here, 128 is the default.
I've been following your struggles there 😅 I feel sorry for anyone working on rustc bootstrap honestly. Thank you so much for dealing with this part of r-a btw 🙇 |
Then I can @bors r=Veykril |
☀️ Test successful - checks-actions |
Is there a reason why to |
It fails to link without it, like in the downstream sync PR. |
No description provided.