-
Notifications
You must be signed in to change notification settings - Fork 13.5k
Tracking the old name of renamed unstable library features #142158
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
Conversation
Signed-off-by: xizheyin <[email protected]>
|
Changes to the size of AST and/or HIR nodes. cc @nnethercote Some changes occurred in compiler/rustc_attr_data_structures Some changes occurred in compiler/rustc_attr_parsing |
for (feature, since) in defined_features.to_sorted_vec() { | ||
if let FeatureStability::AcceptedSince(since) = since | ||
for (feature, stability) in defined_features.to_sorted_vec() { | ||
if let FeatureStability::AcceptedSince(since) = stability |
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.
Naming it since
is not accurate here, the attribute here may be unstable. So I renamed it to stability
.
if let FeatureStability::Unstable(Some(alias)) = stability { | ||
if let Some(span) = remaining_lib_features.swap_remove(&alias) { | ||
tcx.dcx().emit_err(errors::RenamedFeature { span, feature, alias }); | ||
} | ||
} | ||
|
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.
In check_features
, check if any of the defined features have alias the same as the #![feature(...)]
-declared feature, and if they do, remove them and issue an error. This way, it won't issue the unknown features
error later.
library/core/src/ops/control_flow.rs
Outdated
@@ -98,7 +98,7 @@ pub enum ControlFlow<B, C = ()> { | |||
// is a no-op conversion in the `Try` implementation. | |||
} | |||
|
|||
#[unstable(feature = "try_trait_v2", issue = "84277")] | |||
#[unstable(feature = "try_trait_v2", issue = "84277", alias = "try_trait")] |
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.
I'm currently using try_trait
as an example, I'm trying to find out what other features have been renamed in the standard library, I also found slice_internals_v2
, but that may not be enough.
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.
alias
has been replaced with old_name
.
library/core/src/ops/try_trait.rs
Outdated
@@ -112,7 +112,7 @@ use crate::ops::ControlFlow; | |||
/// R::from_output(accum) | |||
/// } | |||
/// ``` | |||
#[unstable(feature = "try_trait_v2", issue = "84277")] | |||
#[unstable(feature = "try_trait_v2", issue = "84277", alias = "try_trait")] |
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.
I think "alias" is a bit misleading. It's not an alias that can be used, it's the previous name that can no longer be used. I'd call it previous_name
or something like that to make it clear what it is.
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.
Thanks for advice, I change it to old_name
, which would be shorter than previous_name
and presents the same meaning.
@@ -12,7 +12,7 @@ pub mod lib_features { | |||
#[derive(HashStable, TyEncodable, TyDecodable)] | |||
pub enum FeatureStability { | |||
AcceptedSince(Symbol), | |||
Unstable, | |||
Unstable(Option<Symbol>), |
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.
it's nicer I think if this is a named variant with old_name
in it. I wouldn't know what this meant otherwise. AcceptedSince is clearer in that regard so is fine staying the way it is. Ping me after that and I'll r+ @rusbot author
@rustbot author |
Reminder, once the PR becomes ready for a review, use |
Signed-off-by: xizheyin <[email protected]>
I revised it. 😊 @jdonszelmann |
@bors r+ rollup |
Rollup of 10 pull requests Successful merges: - #134847 (Implement asymmetrical precedence for closures and jumps) - #141491 (Delegate `<CStr as Debug>` to `ByteStr`) - #141770 (Merge `Cfg::render_long_html` and `Cfg::render_long_plain` methods common code) - #142069 (Introduce `-Zmacro-stats`) - #142158 (Tracking the old name of renamed unstable library features) - #142221 ([AIX] strip underlying xcoff object) - #142340 (miri: we can use apfloat's mul_add now) - #142379 (Add bootstrap option to compile a tool with features) - #142410 (intrinsics: rename min_align_of to align_of) - #142413 (rustc-dev-guide subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of #142158 - xizheyin:141617, r=jdonszelmann Tracking the old name of renamed unstable library features This PR resolves the first problem of #141617 : tracking renamed unstable features. The first commit is to add a ui test, and the second one tracks the changes. I will comment on the code for clarification. r? `@jdonszelmann` There have been a lot of PR's reviewed by you lately, thanks for your time! cc `@jyn514`
Rollup of 10 pull requests Successful merges: - rust-lang/rust#134847 (Implement asymmetrical precedence for closures and jumps) - rust-lang/rust#141491 (Delegate `<CStr as Debug>` to `ByteStr`) - rust-lang/rust#141770 (Merge `Cfg::render_long_html` and `Cfg::render_long_plain` methods common code) - rust-lang/rust#142069 (Introduce `-Zmacro-stats`) - rust-lang/rust#142158 (Tracking the old name of renamed unstable library features) - rust-lang/rust#142221 ([AIX] strip underlying xcoff object) - rust-lang/rust#142340 (miri: we can use apfloat's mul_add now) - rust-lang/rust#142379 (Add bootstrap option to compile a tool with features) - rust-lang/rust#142410 (intrinsics: rename min_align_of to align_of) - rust-lang/rust#142413 (rustc-dev-guide subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 10 pull requests Successful merges: - rust-lang/rust#134847 (Implement asymmetrical precedence for closures and jumps) - rust-lang/rust#141491 (Delegate `<CStr as Debug>` to `ByteStr`) - rust-lang/rust#141770 (Merge `Cfg::render_long_html` and `Cfg::render_long_plain` methods common code) - rust-lang/rust#142069 (Introduce `-Zmacro-stats`) - rust-lang/rust#142158 (Tracking the old name of renamed unstable library features) - rust-lang/rust#142221 ([AIX] strip underlying xcoff object) - rust-lang/rust#142340 (miri: we can use apfloat's mul_add now) - rust-lang/rust#142379 (Add bootstrap option to compile a tool with features) - rust-lang/rust#142410 (intrinsics: rename min_align_of to align_of) - rust-lang/rust#142413 (rustc-dev-guide subtree update) r? `@ghost` `@rustbot` modify labels: rollup
diagnosing #142442 @rust-timer build df23987 |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (df23987): comparison URL. Overall result: ❌ regressions - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -1.3%, secondary -0.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 1.3%, secondary -1.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 754.993s -> 689.634s (-8.66%) |
This may be in line with expectations? |
Thanks Jubilee (wouldn't guess this one). Yeah, I guess that since this does more work, a small regression on doc benchmarks is fine. |
Tracking the old name of renamed unstable library features This PR resolves the first problem of rust-lang#141617 : tracking renamed unstable features. The first commit is to add a ui test, and the second one tracks the changes. I will comment on the code for clarification. r? `@jdonszelmann` There have been a lot of PR's reviewed by you lately, thanks for your time! cc `@jyn514`
…iaskrgr Rollup of 10 pull requests Successful merges: - rust-lang#134847 (Implement asymmetrical precedence for closures and jumps) - rust-lang#141491 (Delegate `<CStr as Debug>` to `ByteStr`) - rust-lang#141770 (Merge `Cfg::render_long_html` and `Cfg::render_long_plain` methods common code) - rust-lang#142069 (Introduce `-Zmacro-stats`) - rust-lang#142158 (Tracking the old name of renamed unstable library features) - rust-lang#142221 ([AIX] strip underlying xcoff object) - rust-lang#142340 (miri: we can use apfloat's mul_add now) - rust-lang#142379 (Add bootstrap option to compile a tool with features) - rust-lang#142410 (intrinsics: rename min_align_of to align_of) - rust-lang#142413 (rustc-dev-guide subtree update) r? `@ghost` `@rustbot` modify labels: rollup
This PR resolves the first problem of #141617 : tracking renamed unstable features. The first commit is to add a ui test, and the second one tracks the changes. I will comment on the code for clarification.
r? @jdonszelmann
There have been a lot of PR's reviewed by you lately, thanks for your time!
cc @jyn514