Skip to content

Rollup of 5 pull requests - #163842

Merged
rust-bors[bot] merged 21 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-tmsUwJi
Oct 6, 2026
Merged

rust-bors[bot] merged 21 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-tmsUwJi

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

darkraider01 and others added 21 commits October 2, 2026 22:58
* fix visible for leak check in fast path
* add  comment
* fix typo

Co-authored-by: Rémy Rakic <remy.rakic+github@gmail.com>
Co-authored-by: Clar Fon <15850505+clarfonthey@users.noreply.github.com>
[rustdoc] Fix how `Deref` items is handled.

Fixes rust-lang#160236.

This PR fixes a few things around how we handle `Deref`:
 * Since nothing except for methods is callable through a `Deref`, only methods should be kept
 * If the `Deref::Target` is a type implementing `Copy`, then methods taking `self` work and should be displayed.

<del>During the `clean` pass, I store the item `DefId` on which `Deref` is implemented in a `DefIdSet` if the `Deref::Target` implements `Copy`. Then during rendering, we check if the "parent item" is in in the `DefIdSet`, and if so, we keep methods with `self`.</del>

<del>Now you might wonder why the item and not the derefed item. It's because the `DefId` we get from the computed type doesn't match the `DefId` of the actual type (that's where I spent most of my time, finding an ID (`DefId`/`ItemId`) I can use as key T_T).</del>

It computes in `html/render` if the `Deref::Target` item is copy before rendering it.

So to resume:

* `&self` is always kept.
* `&mut self` is kept if `DerefMut` is implemented (nothing changed there).
* `self` is kept only if `Deref::Target` is `Copy`.
* Everything else disappears as they're not callable through `Deref`.

r? @camelid
…ath, r=BoxyUwU

fix `VisibleForLeakCheck` in `RegionOutlives` fast path

This causes the new solver to more closely match the old solver. `-Zdisable-fast-paths` already causes this to fail on nightly. This is a small bug in the impl of rust-lang#155749. We should have probably FCP'd that change as it was a breaking change to coherence. I forgot to do so after mentioning its impact on coherence in rust-lang#155749 (review).

This PR causes the following snippet to no longer compile:

```rust
trait MayRequireStatic {}
// `for<'a> &'a i32: MayRequireStatic` does not hold
impl<'a: 'static> MayRequireStatic for &'a i32 {}
impl<'a> MayRequireStatic for &'a u32 {}

trait Trait {}

impl Trait for i32 {}
impl<T> Trait for T where for<'a> &'a T: MayRequireStatic {}

fn is_trait<T: Trait>() {}

fn main() {
    is_trait::<i32>();
    is_trait::<u32>();
}
```
This feels very artificial to me. I guess let's still do a quick FCP for this breakage.

no clue why we're missing a span with the old solver here 🤣

r? BoxyUwU
…, r=JonathanBrouwer

Move #[doc(inline)] and #[doc(no_inline)] validation into rustc_attr_parsing

Part of rust-lang#153101

This migrates `#[doc(inline)]` and `#[doc(no_inline)]` validation from `rustc_passes` into `DocParser` in `rustc_attr_parsing`. It checks for conflicting inlining attributes and non-use targets, and tweaks rustdoc's early abort so lowering errors don't suppress other attribute diagnostics, also added new UI tests in doc-inline-validation.rs.
…n, r=notriddle

When documenting without a specified `--edition`, emit a message

Follow-up of rust-lang#158102.

cc @estebank
r? @notriddle
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Oct 5, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. labels Oct 5, 2026
@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 Oct 5, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Oct 5, 2026
…uwer

Rollup of 5 pull requests

Successful merges:

 - #160915 ([rustdoc] Fix how `Deref` items is handled.)
 - #163267 (fix `VisibleForLeakCheck` in `RegionOutlives` fast path)
 - #163673 (Move #[doc(inline)] and #[doc(no_inline)] validation into rustc_attr_parsing)
 - #163795 (When documenting without a specified `--edition`, emit a message)
 - #163814 (Add some comments and docs related to `AllocatorNightly`)
@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job dist-aarch64-freebsd failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[1228/4003] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockFrequencyInfo.cpp.o
[1229/4003] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockHashInfo.cpp.o
##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.

Session terminated, killing shell...::group::Clock drift check
  local time: [1230/4003] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBlockPlacement.cpp.o
Mon Oct  5 20:35:04 UTC 2026
  network time: [1231/4003] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineBranchProbabilityInfo.cpp.o
[1232/4003] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCombiner.cpp.o
[1233/4003] Building CXX object lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/MachineCFGPrinter.cpp.o
Mon, 05 Oct 2026 20:35:04 GMT

@rust-bors rust-bors Bot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Oct 5, 2026
@rust-bors

rust-bors Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

💔 Test for 5a5c446 failed: CI. Failed job:

@jhpratt

jhpratt commented Oct 5, 2026

Copy link
Copy Markdown
Member

@bors retry

@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 Oct 5, 2026
@rust-bors

This comment has been minimized.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job test-various failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] bstr test:false 1.458
   Compiling thread_local v1.1.9
   Compiling pathdiff v0.2.3

Session terminated, killing shell...::group::Clock drift check
##[error]The runner has received a shutdown signal. This can happen when the runner service is stopped, or a manually started runner is canceled.
  local time: Mon Oct  5 21:08:28 UTC 2026
  network time: Mon, 05 Oct 2026 21:08:28 GMT
##[endgroup]
 ...killed.
##[error]The operation was canceled.

@jhpratt

jhpratt commented Oct 5, 2026

Copy link
Copy Markdown
Member

GitHub claims this is resolved. https://www.githubstatus.com/incidents/3q1yb5m7ltvb

@bors treeclosed-

@rust-bors

rust-bors Bot commented Oct 5, 2026

Copy link
Copy Markdown
Contributor

Tree is now open for merging.

@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 Oct 6, 2026
@rust-bors

rust-bors Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 23m 26s
Pushing db23a2d to main...

@rust-bors
rust-bors Bot merged commit db23a2d into rust-lang:main Oct 6, 2026
9 of 15 checks passed
@rustbot rustbot added this to the 1.101.0 milestone Oct 6, 2026
@github-actions

github-actions Bot commented Oct 6, 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 ea13733 (parent) -> db23a2d (this PR)

Test differences

Show 855 test diffs

Stage 1

  • [rustdoc-html] tests/rustdoc-html/deref/deref-copy.rs: [missing] -> pass (J1)
  • [rustdoc-html] tests/rustdoc-html/deref/deref-non-copy.rs: [missing] -> pass (J1)
  • [ui] tests/ui/higher-ranked/leak-check/ignores-explicit-outlives-constraints.rs: [missing] -> pass (J2)
  • [ui] tests/ui/rustdoc/doc-inline-validation.rs: [missing] -> pass (J2)
  • [ui] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs: pass -> [missing] (J2)
  • [ui] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs#current: [missing] -> pass (J2)
  • [ui] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs#next: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/higher-ranked/leak-check/ignores-explicit-outlives-constraints.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/rustdoc/doc-inline-validation.rs: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs: pass -> [missing] (J3)
  • [ui (polonius)] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs#current: [missing] -> pass (J3)
  • [ui (polonius)] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs#next: [missing] -> pass (J3)

Stage 2

  • [ui] tests/ui/higher-ranked/leak-check/ignores-explicit-outlives-constraints.rs: [missing] -> pass (J0)
  • [ui] tests/ui/rustdoc/doc-inline-validation.rs: [missing] -> pass (J0)
  • [ui] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs: pass -> [missing] (J0)
  • [ui] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs#current: [missing] -> pass (J0)
  • [ui] tests/ui/traits/next-solver/cycles/leak-check-coinductive-cycle.rs#next: [missing] -> pass (J0)
  • [rustdoc-html] tests/rustdoc-html/deref/deref-copy.rs: [missing] -> pass (J4)
  • [rustdoc-html] tests/rustdoc-html/deref/deref-non-copy.rs: [missing] -> pass (J4)

Additionally, 836 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 db23a2d392783030c008a5fafbe6cb139d1f7707 --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-loongarch64-linux: 1h 20m -> 2h 9m (+60.8%)
  2. dist-x86_64-netbsd: 57m 57s -> 1h 31m (+57.2%)
  3. test-arm-android: 1h 15m -> 1h 52m (+48.9%)
  4. test-i686-gnu-1: 1h 32m -> 2h 12m (+42.3%)
  5. test-x86_64-msvc-1: 2h 45m -> 1h 38m (-40.6%)
  6. test-x86_64-gnu-llvm-22: 37m 5s -> 50m 58s (+37.4%)
  7. test-x86_64-rust-for-linux: 1h -> 38m 28s (-36.9%)
  8. test-x86_64-gnu-llvm-22-2: 1h 45m -> 1h 7m (-36.3%)
  9. dist-i686-mingw: 55m 27s -> 36m 4s (-35.0%)
  10. test-x86_64-mingw-2: 2h 43m -> 1h 46m (-34.8%)
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 (db23a2d): comparison URL.

Overall result: ❌ regressions - please read:

Our benchmarks found a performance regression caused by this PR.
This might be an actual regression, but it can also be just noise.

Next Steps:

  • If the regression was expected or you think it can be justified,
    please write a comment with sufficient written justification, and add
    @rustbot label: +perf-regression-triaged to it, to mark the regression as triaged.
  • If you think that you know of a way to resolve the regression, try to create
    a new PR with a fix for the regression.
  • If you do not understand the regression or you think that it is just noise,
    you can ask the @rust-lang/wg-compiler-performance working group for help (members of this group
    were already notified of this PR).

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

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.4% [0.4%, 0.4%] 1
Regressions ❌
(secondary)
1.3% [1.3%, 1.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [0.4%, 0.4%] 1

Max RSS (memory usage)

Results (secondary 1.7%)

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)
6.4% [6.4%, 6.4%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.1% [-3.1%, -3.1%] 1
All ❌✅ (primary) - - 0

Cycles

Results (primary -1.5%, secondary 3.7%)

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

mean range count
Regressions ❌
(primary)
1.7% [1.7%, 1.7%] 1
Regressions ❌
(secondary)
3.7% [1.6%, 5.9%] 2
Improvements ✅
(primary)
-2.6% [-2.7%, -2.6%] 3
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -1.5% [-2.7%, 1.7%] 4

Binary size

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

Bootstrap: 496.563s -> 489.541s (-1.41%)
Artifact size: 408.58 MiB -> 408.63 MiB (0.01%)

@rustbot rustbot added the perf-regression Performance regression. label Oct 6, 2026
@rust-bors

rust-bors Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#160915 [rustdoc] Fix how Deref items is handled. 9d02933927a465d3257d0e6deb6d3743004b0bd2
(link)
#163267 fix VisibleForLeakCheck in RegionOutlives fast path 2199e4ec88b25a186dba1a8ec0aaf7a943c29360
(link)
#163673 Move #[doc(inline)] and #[doc(no_inline)] validation into r… 274395e3aec557f77d23971ac6e344723fe6d600
(link)
#163795 When documenting without a specified --edition, emit a me… 9588ea26176f4c86082d0f1d251dc6a87a5b3c5d
(link)
#163814 Add some comments and docs related to AllocatorNightly 998b4e3e1f2ff22c214f0b9967101d16bc12b68b
(link)

parent commit: ea137335b7

In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: @rust-timer triage $SHA $SHA $SHA..., or run @rust-timer triage all to benchmark all rollup members.

@panstromek

Copy link
Copy Markdown
Contributor

I think this is the Deref rusdoc one, but let's try, this should be fast.

@rust-timer triage all

@rust-timer

rust-timer commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator
Running triage with 2 benchmarks

Triage only executes the benchmarks on rollup members, that were changed significantly on the rollup.
For this rollup, these benchmarks are:

  • deref-sidebar-stress
  • eza-0.21.2

#160915 9d02933 [rustdoc] Fix how Deref items is handled.

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.3% [0.3%, 0.3%] 1
Regressions ❌
(secondary)
1.2% [1.2%, 1.2%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [0.3%, 0.3%] 1

Max RSS (memory usage)

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

Cycles

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

Binary size

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


#163267 2199e4e fix VisibleForLeakCheck in RegionOutlives fast path

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

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

Cycles

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

Binary size

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


#163673 274395e Move #[doc(inline)] and #[doc(no_inline)] validation into rustc_attr_parsing

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

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

Cycles

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

Binary size

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


#163795 9588ea2 When documenting without a specified --edition, emit a message

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

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

Cycles

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

Binary size

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


#163814 998b4e3 Add some comments and docs related to AllocatorNightly

This perf run didn't have relevant results for the `instruction count` metric.

Instruction count

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

Max RSS (memory usage)

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

Cycles

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

Binary size

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

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

Labels

A-attributes Area: Attributes (`#[…]`, `#![…]`) A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. 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.

10 participants