Skip to content

Rollup of 4 pull requests#157631

Merged
rust-bors[bot] merged 13 commits into
rust-lang:mainfrom
jhpratt:rollup-KXPTczJ
Jun 9, 2026
Merged

Rollup of 4 pull requests#157631
rust-bors[bot] merged 13 commits into
rust-lang:mainfrom
jhpratt:rollup-KXPTczJ

Conversation

@jhpratt

@jhpratt jhpratt commented Jun 9, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

zedddie and others added 13 commits June 7, 2026 00:01
Letting `lower_lifetime` check `tcx.named_bound_var` & call `re_infer`
just means we now end up passing `lifetime.ident.span` to `re_infer`
instead of the `span` of the trait object type. However,

1. in the case of `LifetimeKind::ImplicitObjectLifetimeDefault`
   `lifetime.ident.span` is actually equal to said span.
2. in the case of `LifetimeKind::Infer` the span now makes more sense;
   consider `dyn Trait + '_` where the span now just contains the `'_`
   not the entire type which is just better.
…nfer`

This makes it really obvious that we're computing object region bounds
for `Infer`, too, not just for `ImplicitObjectLifetimeDefault` which was
really hard to see beforehand. It's unclear to me whether this was
intentional or not, needs investigation.

Introduce method `lower_trait_object_lifetime` to allow usage of early
returns to make the control flow clearer compared to the `unwrap_or_else`.
…wnGnome

Remove comments already covered by rustdoc

Since rust-lang#157310 was merged, rustdoc renders `impl` restrictions. As such, these comments are no longer necessary.
…ivooeo

Simplify the HIR ty lowering of trait object lifetime bounds

See individual commit messages for details.
rustc_resolve: point the label span at the segment that could not be resolved

This is part of work that @weiznich and I are doing for `#[diagnostic::on_unknown]`.

This means that you can put the attribute in macro_rules macros and have the label message point at the input the user gave. It's imo also the right thing to point the span at in general.
```rust
mod things {}

macro_rules! mac {
    ($thing: ident) => {{
        const _x: u32 = {
            #[diagnostic::on_unknown(label = "you did the bad thing")]
            use things::$thing;
            //~^ERROR unresolved import `things::what` [E0432]
            //~|ERROR unresolved import `things::what2` [E0432]
            $thing
        };
    }};
}
```
```
LL | |         what2
   | |         ----- you did the bad thing
```
See also the first and last commit for what these messages look(ed) like.

cc @estebank
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Jun 9, 2026
@rustbot rustbot added O-unix Operating system: Unix-like O-windows Operating system: Windows 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. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 9, 2026
@jhpratt

jhpratt commented Jun 9, 2026

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

📌 Commit bc0f005 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 Jun 9, 2026
@rust-bors

This comment has been minimized.

@rust-bors rust-bors Bot added merged-by-bors This PR was explicitly merged by bors. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 9, 2026
@rust-bors

rust-bors Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: jhpratt
Duration: 3h 53m 48s
Pushing a962594 to main...

@rust-bors rust-bors Bot merged commit a962594 into rust-lang:main Jun 9, 2026
13 checks passed
@rustbot rustbot added this to the 1.98.0 milestone Jun 9, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#157547 Reorganize tests/ui/issues [6/N] f8622cbd0c89f637de886ba8aeb64e9a71eddfb7 (link)
#157549 Remove comments already covered by rustdoc 3ddd760fbe0c618d9543e84f2d5be9de94596f06 (link)
#157591 Simplify the HIR ty lowering of trait object lifetime bounds 89964fade13a72a64c71341c9341e3b9af06a570 (link)
#157623 rustc_resolve: point the label span at the segment that cou… a4b50e8f007818684494128f4978a37757456381 (link)

previous master: d8c2e97719

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

@jhpratt jhpratt deleted the rollup-KXPTczJ branch June 9, 2026 08:07
@github-actions

github-actions Bot commented Jun 9, 2026

Copy link
Copy Markdown
Contributor
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 d8c2e97 (parent) -> a962594 (this PR)

Test differences

Show 77 test diffs

Stage 1

  • [ui] tests/ui/diagnostic_namespace/on_unknown/point_at_macro_argument.rs: [missing] -> pass (J0)
  • [ui] tests/ui/expr/if/if-let-missing-else-clause.rs: [missing] -> pass (J0)
  • [ui] tests/ui/feature-gates/link-llvm-intrinsics-enabled.rs: [missing] -> pass (J0)
  • [ui] tests/ui/feature-gates/link-llvm-intrinsics-no-gate.rs: [missing] -> pass (J0)
  • [ui] tests/ui/fn_traits/fn-impl-mismatched-param-type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/imports/point_macro_input.rs: [missing] -> pass (J0)
  • [ui] tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.rs: [missing] -> pass (J0)
  • [ui] tests/ui/issues/issue-19991.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20186.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20225.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20261.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20313-rpass.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20313.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20396.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20414.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-20433.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-21361.rs: pass -> [missing] (J0)
  • [ui] tests/ui/methods/calling-conventions-with-where-clause-ref-bound.rs: [missing] -> pass (J0)
  • [ui] tests/ui/methods/method-call-in-iter-str-bytes.rs: [missing] -> pass (J0)
  • [ui] tests/ui/traits/object/iterator-methods-on-boxed-trait-object.rs: [missing] -> pass (J0)
  • [ui] tests/ui/traits/object/trait-object-with-nested-generics.rs: [missing] -> pass (J0)
  • [ui] tests/ui/unsized/vec-of-unsized-type.rs: [missing] -> pass (J0)

Stage 2

  • [ui] tests/ui/diagnostic_namespace/on_unknown/point_at_macro_argument.rs: [missing] -> pass (J1)
  • [ui] tests/ui/expr/if/if-let-missing-else-clause.rs: [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/link-llvm-intrinsics-enabled.rs: [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/link-llvm-intrinsics-no-gate.rs: [missing] -> pass (J1)
  • [ui] tests/ui/fn_traits/fn-impl-mismatched-param-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/imports/point_macro_input.rs: [missing] -> pass (J1)
  • [ui] tests/ui/inference/need_type_info/for-loop-ref-pattern-inference.rs: [missing] -> pass (J1)
  • [ui] tests/ui/issues/issue-19991.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20186.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20225.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20261.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20313-rpass.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20313.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20396.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20414.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-20433.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-21361.rs: pass -> [missing] (J1)
  • [ui] tests/ui/methods/calling-conventions-with-where-clause-ref-bound.rs: [missing] -> pass (J1)
  • [ui] tests/ui/methods/method-call-in-iter-str-bytes.rs: [missing] -> pass (J1)
  • [ui] tests/ui/traits/object/iterator-methods-on-boxed-trait-object.rs: [missing] -> pass (J1)
  • [ui] tests/ui/traits/object/trait-object-with-nested-generics.rs: [missing] -> pass (J1)
  • [ui] tests/ui/unsized/vec-of-unsized-type.rs: [missing] -> pass (J1)

Additionally, 33 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 a9625940af29aa50d785aee438b90f3b272c156f --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. aarch64-apple: 2h 15m -> 3h 47m (+68.1%)
  2. x86_64-gnu-gcc-core-tests: 14m 57s -> 9m 35s (-35.8%)
  3. dist-x86_64-mingw: 2h -> 2h 36m (+29.5%)
  4. dist-apple-various: 1h 47m -> 1h 18m (-26.2%)
  5. dist-armhf-linux: 1h 12m -> 1h 28m (+22.0%)
  6. dist-x86_64-solaris: 1h 36m -> 1h 16m (-21.1%)
  7. pr-check-1: 33m 30s -> 27m 29s (-18.0%)
  8. dist-s390x-linux: 1h 30m -> 1h 14m (-17.9%)
  9. x86_64-gnu-aux: 2h 18m -> 2h 42m (+16.8%)
  10. x86_64-gnu-llvm-21-1: 1h -> 50m 24s (-16.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 (a962594): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This perf run didn't have relevant results for this metric.

Max RSS (memory usage)

Results (primary 6.5%)

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

mean range count
Regressions ❌
(primary)
6.5% [6.5%, 6.5%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 6.5% [6.5%, 6.5%] 1

Cycles

Results (secondary 2.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)
2.5% [2.5%, 2.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

This perf run didn't have relevant results for this metric.

Bootstrap: 520.354s -> 516.416s (-0.76%)
Artifact size: 401.29 MiB -> 401.26 MiB (-0.01%)

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

Labels

merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like O-windows Operating system: Windows rollup A PR which is a rollup T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants