Skip to content

Revert "Also duplicate #[expect] attribute in #[derive]-ed code"#153055

Merged
rust-bors[bot] merged 2 commits intorust-lang:mainfrom
Urgau:revert-152289
Feb 26, 2026
Merged

Revert "Also duplicate #[expect] attribute in #[derive]-ed code"#153055
rust-bors[bot] merged 2 commits intorust-lang:mainfrom
Urgau:revert-152289

Conversation

@Urgau
Copy link
Member

@Urgau Urgau commented Feb 24, 2026

Turns out #152289 doesn't work, not because cloning an attribute doesn't keep the same attribute id, but because #[cfg] and #[cfg_attr] re-parse items from scratch bypassing any cloning on AST and forcing the creation of new attribute IDs. 😕

Fixes #153036
Fixes #152401
Reopens #150553

r? @jdonszelmann

@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 Feb 24, 2026
@jdonszelmann
Copy link
Contributor

@Urgau we're in the process of converting lint attributes to the new infra. This will likely conflict and might be redundant.

@Urgau
Copy link
Member Author

Urgau commented Feb 24, 2026

I looked at #152369, which seems to be the latest attempt at converting those to the new infra, and I don't see anything that changes expansion and how items & attributes are re-parsed.

We don't even modify the same files. I think this PR is still very much relevant.

@jdonszelmann
Copy link
Contributor

mhm, okay I see, looks like a good fix in that case.

@bors r+ rollup

@rust-bors
Copy link
Contributor

rust-bors bot commented Feb 26, 2026

📌 Commit 8fefa65 has been approved by jdonszelmann

It is now in the queue for this repository.

@rust-bors rust-bors bot 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 Feb 26, 2026
@samueltardieu
Copy link
Member

samueltardieu commented Feb 26, 2026

Hopefully this PR will be merged before the beta branch is cut from the main tree (tomorrow?), otherwise it might be necessary to backport it.

@jieyouxu
Copy link
Member

In case the rollup fails,
@bors p=5

JonathanBrouwer added a commit to JonathanBrouwer/rust that referenced this pull request Feb 26, 2026
 Revert "Also duplicate `#[expect]` attribute in `#[derive]`-ed code"

Turns out rust-lang#152289 doesn't work, not because cloning an attribute doesn't keep the same attribute id, but because `#[cfg]` and `#[cfg_attr]` [re-parse items from scratch](https://github.com/rust-lang/rust/blob/859951e3c7c9d0322c39bad49221937455bdffcd/compiler/rustc_builtin_macros/src/cfg_eval.rs#L100-L109) bypassing any cloning on AST and forcing the creation of new attribute IDs. 😕

Fixes rust-lang#153036
Fixes rust-lang#152401
Reopens rust-lang#150553
rust-bors bot pushed a commit that referenced this pull request Feb 26, 2026
…uwer

Rollup of 2 pull requests

Successful merges:

 - #153055 ( Revert "Also duplicate `#[expect]` attribute in `#[derive]`-ed code")
 - #153095 (Revert "rustc_expand: improve diagnostics for non-repeatable metavars")
@rust-bors rust-bors bot merged commit fd2950b into rust-lang:main Feb 26, 2026
11 checks passed
@rustbot rustbot added this to the 1.95.0 milestone Feb 26, 2026
rust-timer added a commit that referenced this pull request Feb 26, 2026
Rollup merge of #153055 - Urgau:revert-152289, r=jdonszelmann

 Revert "Also duplicate `#[expect]` attribute in `#[derive]`-ed code"

Turns out #152289 doesn't work, not because cloning an attribute doesn't keep the same attribute id, but because `#[cfg]` and `#[cfg_attr]` [re-parse items from scratch](https://github.com/rust-lang/rust/blob/859951e3c7c9d0322c39bad49221937455bdffcd/compiler/rustc_builtin_macros/src/cfg_eval.rs#L100-L109) bypassing any cloning on AST and forcing the creation of new attribute IDs. 😕

Fixes #153036
Fixes #152401
Reopens #150553
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.

Regression: expect false positives on nightly unfulfilled-lint-expectations for missing_docs

5 participants