Skip to content

Rollup of 5 pull requests#156097

Merged
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
jhpratt:rollup-haL7A1y
May 3, 2026
Merged

Rollup of 5 pull requests#156097
rust-bors[bot] merged 13 commits intorust-lang:mainfrom
jhpratt:rollup-haL7A1y

Conversation

@jhpratt
Copy link
Copy Markdown
Member

@jhpratt jhpratt commented May 3, 2026

Successful merges:

r? @ghost

Create a similar rollup

nnethercote and others added 13 commits April 28, 2026 22:12
Because `sess` is the standard name.
…mejrs

Interning cleanups

Details in individual commits.

r? @JohnTitor
refactor rustc_on_unimplemented's filtering

Previously when you had a
```rust
pub struct Directive {
    pub is_rustc_attr: bool,
    pub condition: Option<OnUnimplementedCondition>,
    pub subcommands: ThinVec<Directive>,
    pub message: Option<(Span, FormatString)>,
    ...
}
```
that condition would control the emission of the message, label, notes etc. I've changed that to
```rust
pub struct Directive {
    pub is_rustc_attr: bool,
    pub filters: ThinVec<(Filter, Directive)>,
    pub message: Option<(Span, FormatString)>,
    ...
```

so that the message etc is always emitted, and there's a vec of tuples with (filter, directive) where the filter controls whether that directive is even emitted,  which i think is much clearer. That also makes it easier to not have to do the reverse iteration thing and this makes it so that notes are emitted in declaration order (with nonfiltered options always last).

The rename is because I plan on making it available to other diagnostic attributes at some point (very wip) so `OnUnimplementedCondition` and the like would have to be renamed anyway.
Remove unused spans from AttributeKind

Recently I noticed some spans in diagnostic attributes were never used. I went through and checked the other variants too.
change field `tools` on `AttributeParser` to hold `&'tcx RegisteredTools`

Makes tools actually stored, and not just tool names

this was originally part of rust-lang#155691 but was split out to make that PR smaller.

r? @petrochenkov
cc @JonathanBrouwer
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label May 3, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) labels May 3, 2026
@jhpratt
Copy link
Copy Markdown
Member Author

jhpratt commented May 3, 2026

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 3, 2026

📌 Commit bd8d026 has been approved by jhpratt

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 May 3, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added the merged-by-bors This PR was explicitly merged by bors. label May 3, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 3, 2026

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 11m 52s
Pushing 6769f69 to main...

@rust-bors rust-bors Bot removed the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label May 3, 2026
@rust-bors rust-bors Bot merged commit 6769f69 into rust-lang:main May 3, 2026
12 checks passed
@rustbot rustbot added this to the 1.97.0 milestone May 3, 2026
@rust-timer
Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#155666 Interning cleanups 69130fb81e4b5abf787350f4efa58709f1be8959 (link)
#155940 refactor rustc_on_unimplemented's filtering fdeb9b5e814c3d964344a06ed290c0dbce7415b4 (link)
#156065 Remove unused spans from AttributeKind 6c9ffcc0b7079c53d427fb38bb62d8660009bae8 (link)
#156079 Move and rename the clone-never.rs test 361e45fefb9c91cc2c0e744a232d218a6fecde4d (link)
#156091 change field tools on AttributeParser to hold `&'tcx Re… 1375a8198ab78a82406513c1f31a7d666510dc00 (link)

previous master: 44860d3e9e

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 44860d3 (parent) -> 6769f69 (this PR)

Test differences

Show 22 test diffs

Stage 1

  • [ui] tests/ui/never_type/basic/clone-never.rs: [missing] -> pass (J1)
  • [ui] tests/ui/type/never-type-inference-fail.rs: pass -> [missing] (J1)

Stage 2

  • [ui] tests/ui/never_type/basic/clone-never.rs: [missing] -> pass (J0)
  • [ui] tests/ui/type/never-type-inference-fail.rs: pass -> [missing] (J0)

Additionally, 18 doctest diffs were found. These are ignored, as they are noisy.

Job group index

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard 6769f690f947f12e36db6b6503bab265b7b2cced --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. dist-i686-msvc: 1h 51m -> 2h 24m (+29.8%)
  2. x86_64-msvc-ext2: 1h 57m -> 1h 27m (-26.0%)
  3. dist-various-2: 45m 12s -> 34m 54s (-22.8%)
  4. x86_64-gnu-distcheck: 2h 24m -> 1h 51m (-22.6%)
  5. dist-i686-linux: 1h 50m -> 1h 27m (-21.0%)
  6. x86_64-msvc-ext1: 2h 15m -> 1h 51m (-17.9%)
  7. arm-android: 1h 26m -> 1h 40m (+15.4%)
  8. x86_64-msvc-ext3: 1h 46m -> 1h 57m (+11.0%)
  9. i686-msvc-1: 2h 45m -> 3h 2m (+10.7%)
  10. dist-various-1: 1h 7m -> 1h 1m (-10.3%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (6769f69): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.1%] 1
Improvements ✅
(secondary)
-0.3% [-0.6%, -0.3%] 4
All ❌✅ (primary) -0.1% [-0.1%, -0.1%] 1

Max RSS (memory usage)

Results (primary -2.1%, secondary 1.3%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
4.4% [0.6%, 8.1%] 2
Improvements ✅
(primary)
-2.1% [-2.1%, -2.1%] 1
Improvements ✅
(secondary)
-4.9% [-4.9%, -4.9%] 1
All ❌✅ (primary) -2.1% [-2.1%, -2.1%] 1

Cycles

Results (primary -1.1%, secondary -0.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.1% [-1.1%, -1.1%] 1
Improvements ✅
(secondary)
-0.5% [-0.7%, -0.4%] 5
All ❌✅ (primary) -1.1% [-1.1%, -1.1%] 1

Binary size

Results (primary -0.1%, secondary -0.1%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.0%] 22
Improvements ✅
(secondary)
-0.1% [-0.6%, -0.0%] 23
All ❌✅ (primary) -0.1% [-0.1%, -0.0%] 22

Bootstrap: 495.993s -> 503.61s (1.54%)
Artifact size: 394.50 MiB -> 394.46 MiB (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-rustdoc-json Area: Rustdoc JSON backend merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup T-clippy Relevant to the Clippy team. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants