Skip to content

Note the version and PR of removed features when using it #141642

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

Merged
merged 3 commits into from
Jun 10, 2025

Conversation

xizheyin
Copy link
Contributor

@xizheyin xizheyin commented May 27, 2025

Fixes #141619

I added the diagnostic information. Since all the current version information is present, it prints the version information anyway, as shown in tests/ui. And PR will not print if it is None, we can gradually add the PR links.

Split into two commits for easier review.

r? compiler

cc @jyn514 Since you're on vocation in the review list, I can't r? you.

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 27, 2025
@xizheyin xizheyin changed the title Issue Note the version and PR of removed features when using it May 27, 2025
@rust-log-analyzer

This comment has been minimized.

@jieyouxu
Copy link
Member

r? compiler (bandwidth)

@rustbot rustbot assigned lcnr and unassigned jieyouxu May 27, 2025
Copy link
Member

@jyn514 jyn514 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you! this looks very good, i just have one comment about the new macro :)

@xizheyin
Copy link
Contributor Author

I tried opt_nonzero_u32!($($pull)?),, but it reports

error[E0015]: cannot call non-const method `std::option::Option::<NonZero<u32>>::or` in statics

So, I use helper macros to parse pull.

@rust-log-analyzer

This comment has been minimized.

@jyn514
Copy link
Member

jyn514 commented May 27, 2025

gotcha - can you write out the match explicitly instead of using or? i do think for this file specifically that having an accurate git blame is helpful.

separately i will open an issue to make or const, there's no reason for it not to be.

sess.dcx().emit_err(FeatureRemoved {
span: mi.span(),
reason: f.reason.map(|reason| FeatureRemovedReason { reason }),
span,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: seems the shorthand style here has more lines of code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the reminder, indeed.

Copy link
Contributor Author

@xizheyin xizheyin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you write out the match explicitly instead of using or?

My current approach should have accomplished the goal?

Comment on lines +15 to +21
macro_rules! opt_nonzero_u32 {
() => {
None
};
($val:expr) => {
Some(NonZeroU32::new($val).unwrap())
};
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I used an auxiliary macro to get around this to make sure the git blame doesn't get broken.

@xizheyin
Copy link
Contributor Author

xizheyin commented Jun 4, 2025

I push the third commits to make since of removed features the version in which it was removed and fill pull.

I find the corresponding PR by going through all the features in removed.rs one by one and checking their corresponding git blame. if I don't have a query because it's too old, I search for keywords in PR in rust-lang/rust. The vast majority of them found the corresponding PRs, so please reviewers review them when you have time.

If there's nothing wrong with this PR, #141619 will be closed when it is merged.

@rust-log-analyzer

This comment has been minimized.

@xizheyin
Copy link
Contributor Author

xizheyin commented Jun 7, 2025

r? compiler

@rustbot rustbot assigned wesleywiser and unassigned lcnr Jun 7, 2025
@xizheyin
Copy link
Contributor Author

xizheyin commented Jun 7, 2025

wesleywiser may not have time as he put off another PR review yesterday.
r? compiler

@rustbot rustbot assigned BoxyUwU and unassigned wesleywiser Jun 7, 2025
@bors
Copy link
Collaborator

bors commented Jun 9, 2025

☔ The latest upstream changes (presumably #142220) made this pull request unmergeable. Please resolve the merge conflicts.

xizheyin added 3 commits June 9, 2025 17:10
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
Signed-off-by: xizheyin <xizheyin@smail.nju.edu.cn>
@BoxyUwU
Copy link
Member

BoxyUwU commented Jun 10, 2025

@bors r+

I didn't really check that all the PR numbers associated with removed features are correct because that seems so incredibly mind numbingly tedious, and the cost of getting this wrong is extremely small.

@bors
Copy link
Collaborator

bors commented Jun 10, 2025

📌 Commit 4b89804 has been approved by BoxyUwU

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jun 10, 2025
@xizheyin
Copy link
Contributor Author

Yes, it took me hours to go through all the features. It's really boring. :)

@BoxyUwU
Copy link
Member

BoxyUwU commented Jun 10, 2025

Thank you for doing that work :3

fmease added a commit to fmease/rust that referenced this pull request Jun 10, 2025
Note the version and PR of removed features when using it

Fixes rust-lang#141619

I added the diagnostic information. Since all the current version information is present, it prints the version information anyway, as shown in tests/ui. And PR will not print if it is None, we can gradually add the PR links.

Split into two commits for easier review.

r? compiler

cc `@jyn514` Since you're on vocation in the review list, I can't r? you.
bors added a commit that referenced this pull request Jun 10, 2025
Rollup of 14 pull requests

Successful merges:

 - #134442 (Specify the behavior of `file!`)
 - #134841 (Look at proc-macro attributes when encountering unknown attribute)
 - #140372 (Exhaustively handle parsed attributes in CheckAttr)
 - #140766 (Stabilize keylocker)
 - #141642 (Note the version and PR of removed features when using it)
 - #141909 (Add central execution context to bootstrap)
 - #141992 (use `#[naked]` for `__rust_probestack`)
 - #142102 (docs: Small clarification on the usage of read_to_string and read_to_end trait methods)
 - #142124 (Allow transmute casts in pre-runtime-MIR)
 - #142240 (deduplicate the rest of AST walker functions)
 - #142258 (platform-support.md: Mention specific Linux kernel version or later)
 - #142262 (Mark `core::slice::memchr` as `#[doc(hidden)]`)
 - #142271 (compiler: fn ptrs should hit different lints based on ABI)
 - #142288 (const_eval: fix some outdated comments)

r? `@ghost`
`@rustbot` modify labels: rollup
bors added a commit that referenced this pull request Jun 10, 2025
Rollup of 16 pull requests

Successful merges:

 - #134442 (Specify the behavior of `file!`)
 - #140372 (Exhaustively handle parsed attributes in CheckAttr)
 - #140766 (Stabilize keylocker)
 - #141642 (Note the version and PR of removed features when using it)
 - #141818 (Don't create .msi installer for gnullvm hosts)
 - #141909 (Add central execution context to bootstrap)
 - #141992 (use `#[naked]` for `__rust_probestack`)
 - #142101 (core::ptr: deduplicate more method docs)
 - #142102 (docs: Small clarification on the usage of read_to_string and read_to_end trait methods)
 - #142124 (Allow transmute casts in pre-runtime-MIR)
 - #142240 (deduplicate the rest of AST walker functions)
 - #142258 (platform-support.md: Mention specific Linux kernel version or later)
 - #142262 (Mark `core::slice::memchr` as `#[doc(hidden)]`)
 - #142271 (compiler: fn ptrs should hit different lints based on ABI)
 - #142275 (rustdoc: Refractor `clean_ty_generics`)
 - #142288 (const_eval: fix some outdated comments)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors merged commit 2aea4b2 into rust-lang:master Jun 10, 2025
10 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 10, 2025
rust-timer added a commit that referenced this pull request Jun 10, 2025
Rollup merge of #141642 - xizheyin:issue-141619, r=BoxyUwU

Note the version and PR of removed features when using it

Fixes #141619

I added the diagnostic information. Since all the current version information is present, it prints the version information anyway, as shown in tests/ui. And PR will not print if it is None, we can gradually add the PR links.

Split into two commits for easier review.

r? compiler

cc ``@jyn514`` Since you're on vocation in the review list, I can't r? you.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

track the version and PR in which a nightly feature was removed