Skip to content

Conversation

@Zalathar
Copy link
Member

Successful merges:

r? @ghost

Create a similar rollup

GuillaumeGomez and others added 17 commits January 14, 2026 00:58
While these test cases were inspired by issue 137467, they aren't
directly related, and better fit into match-edge-cases_2.rs
…crates-docs, r=jieyouxu

Generate macro expansion for rust compiler crates docs

Re-enable rust-lang#150022, which was disabled in rust-lang#149831 because some fixes hadn't been merged then.

r? @jieyouxu
…=lolbinarycat

Fix deprecated attribute intra-doc link not resolved in the right location on reexported item

Fixes rust-lang#151028.
Follow-up of rust-lang#150721.

So when we resolve an intra-doc link, its current context (the module from which we resolve in short) is very important. However, when we use an intra-doc link in a `#[deprecated]` attribute on a reexported item, we were using the context of the reexported item and not of the `use` itself. Meaning that if you have an intra-doc link `std::mem::drop` on an item from another crate (let's say `core`), then the import will simply fail since there is no `std` dependency.

Now comes the not so funny fix: at this point, we don't know anymore where the attribute came from (ie, from the reexport or from the reexported item) since we already merged the attribute at this point. The solution I found to go around this problem is to check if the item span contains the attribute, and if not, then we use the `inline_stmt_id` as context instead of the item's ID. I'm not super happy and I'm sure we'll find corner cases in the future (like with macros), however there are a few things that mitigate this fix:
1. The only way to generate an attribute with a macro with its item while having different spans is by using proc-macros. In that case, we can always default to the `inline_stmt_id` as context and be fine, but I guess we'll see when get there.
2. It only concerns reexports, so the area of the problem is quite restricted.

Hopefully this explanation made sense. :)

cc @folkertdev
r? @lolbinarycat
…thar

Preliminary match/capture test cleanup for PR 150681

Review for rust-lang#150681 requested that this cleanup gets extracted to a separate PR.

r? @Zalathar
Reorganizing `tests/ui/issues` 5 tests [1/N]

part of rust-lang#133895

r? Kivooeo
feat: Support references in reflection type info

Tracking issue: rust-lang#146922 `#![feature(type_info)]`

Based on rust-lang#151119 implementation for pointers for consistency

r? oli-obk
@rust-bors rust-bors bot added the rollup A PR which is a rollup label Jan 17, 2026
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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 Jan 17, 2026
@Zalathar
Copy link
Member Author

Rollup of everything.

@bors r+ rollup=never p=5

@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 17, 2026

📌 Commit 2956932 has been approved by Zalathar

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 Jan 17, 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 Jan 17, 2026
@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 Jan 17, 2026
@rust-bors
Copy link
Contributor

rust-bors bot commented Jan 17, 2026

☀️ Test successful - CI
Approved by: Zalathar
Pushing defdb83 to main...

@rust-bors rust-bors bot merged commit defdb83 into rust-lang:main Jan 17, 2026
12 checks passed
@rustbot rustbot added this to the 1.94.0 milestone Jan 17, 2026
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#151092 Generate macro expansion for rust compiler crates docs 62af9d5b9d202555066addf69dd420ad5ea1ed4f (link)
#151120 Fix deprecated attribute intra-doc link not resolved in the… bb4579604a6f37b4068ebbded369e1e73be5cf10 (link)
#151207 Preliminary match/capture test cleanup for PR 150681 77c115914839731af01a0f2c844de5f31ebd7fe5 (link)
#151221 Reorganizing tests/ui/issues 5 tests [1/N] fff6461fdfeda82f9f3d176da1697dcdaadcafb4 (link)
#151222 feat: Support references in reflection type info f1e054684f861c8c2569bab5e3c21969c02bba64 (link)

previous master: 1a9f1686b2

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
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 1a9f168 (parent) -> defdb83 (this PR)

Test differences

Show 26 test diffs

Stage 1

  • [rustdoc-html] tests/rustdoc-html/intra-doc/ice-deprecated-note-on-reexport.rs: [missing] -> pass (J1)
  • [ui] tests/ui/issues/issue-16683.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-17405.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-17994.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-18119.rs: pass -> [missing] (J1)
  • [ui] tests/ui/issues/issue-18389.rs: pass -> [missing] (J1)
  • [ui] tests/ui/lifetimes/elided-self-lifetime-in-trait-fn.rs: [missing] -> pass (J1)
  • [ui] tests/ui/pattern/struct_pattern_on_tuple_enum.rs: [missing] -> pass (J1)
  • [ui] tests/ui/privacy/trait_more_private_than_item.rs: [missing] -> pass (J1)
  • [ui] tests/ui/resolve/impl-on-non-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/type-alias/unused_type_parameter.rs: [missing] -> pass (J1)
  • mem::type_info::test_references: [missing] -> pass (J3)

Stage 2

  • [ui] tests/ui/issues/issue-16683.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-17405.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-17994.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-18119.rs: pass -> [missing] (J0)
  • [ui] tests/ui/issues/issue-18389.rs: pass -> [missing] (J0)
  • [ui] tests/ui/lifetimes/elided-self-lifetime-in-trait-fn.rs: [missing] -> pass (J0)
  • [ui] tests/ui/pattern/struct_pattern_on_tuple_enum.rs: [missing] -> pass (J0)
  • [ui] tests/ui/privacy/trait_more_private_than_item.rs: [missing] -> pass (J0)
  • [ui] tests/ui/resolve/impl-on-non-type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/type-alias/unused_type_parameter.rs: [missing] -> pass (J0)
  • mem::type_info::test_references: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/intra-doc/ice-deprecated-note-on-reexport.rs: [missing] -> pass (J4)

Additionally, 2 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 defdb83d4bde9406ec4b37dd3dd572c1d70a14ca --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-x86_64-apple: 11128.1s -> 7343.5s (-34.0%)
  2. pr-check-1: 1548.2s -> 2062.1s (+33.2%)
  3. dist-aarch64-apple: 7810.4s -> 5699.9s (-27.0%)
  4. x86_64-gnu-tools: 3158.8s -> 3756.6s (+18.9%)
  5. x86_64-rust-for-linux: 2716.0s -> 3223.7s (+18.7%)
  6. arm-android: 5426.8s -> 6348.8s (+17.0%)
  7. armhf-gnu: 4707.1s -> 5456.0s (+15.9%)
  8. x86_64-gnu-gcc: 3033.0s -> 3492.8s (+15.2%)
  9. dist-aarch64-msvc: 6060.1s -> 5311.9s (-12.3%)
  10. i686-gnu-2: 5428.7s -> 6057.6s (+11.6%)
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.

@Zalathar Zalathar deleted the rollup-mtOIaDC branch January 17, 2026 06:37
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (defdb83): comparison URL.

Overall result: ❌✅ regressions and improvements - BENCHMARK(S) FAILED

@rustbot label: -perf-regression

❗ ❗ ❗ ❗ ❗
Warning ⚠️: The following benchmark(s) failed to build:

  • diesel-2.2.10
  • Job failure

❗ ❗ ❗ ❗ ❗

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

Max RSS (memory usage)

Results (primary -0.8%)

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

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 475.705s -> 475.301s (-0.08%)
Artifact size: 383.49 MiB -> 383.51 MiB (0.00%)

@Zalathar
Copy link
Member Author

@Zalathar
Copy link
Member Author

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (bb45796): comparison URL.

Overall result: no relevant changes - BENCHMARK(S) FAILED

❗ ❗ ❗ ❗ ❗
Warning ⚠️: The following benchmark(s) failed to build:

  • Job failure

❗ ❗ ❗ ❗ ❗

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

This benchmark run did not return any relevant results for this metric.

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: missing data
Artifact size: missing data

@Zalathar
Copy link
Member Author

@Kobzol FYI, looks like this unrolled perf job was unable to find some artifacts:

@Kobzol
Copy link
Member

Kobzol commented Jan 17, 2026

Yeah, it's still the same issue, the perf. run cannot be started until the unrolled CI finishes :(

@lqd
Copy link
Member

lqd commented Jan 17, 2026

Really, something must have changed with the new runner arch. My, possibly faulty, recollection is this had never happened before. Can it be just about timing, CI getting slower, the perf runs dequeue faster, etc?

@Kobzol
Copy link
Member

Kobzol commented Jan 17, 2026

Yeah it used to work with the old design. Before, the collector essentially entered an endless loop where it tried to download the artifacts, and would try it forever. So if CI succeeded, it would eventually work.

Now, if we fail to download the artifacts, we report an error. Which is IMO sensible, but for this use-case annoying.

I plan to fix it, but it will require non-trivial changes.

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. rollup A PR which is a rollup T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants