Skip to content

Rollup of 11 pull requests#156473

Merged
rust-bors[bot] merged 47 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-pTqyZ43
May 12, 2026
Merged

Rollup of 11 pull requests#156473
rust-bors[bot] merged 47 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-pTqyZ43

Conversation

@JonathanBrouwer
Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

AmmaarBakshi and others added 30 commits April 12, 2026 01:33
- Use matches!() macro instead of match in item_kind.rs
- Remove unnecessary derefs and simplify Option mapping in validator.rs
- Replace clone() on Copy type with *id
- Fix doc comment indentation
- Remove redundant tuple parens in tests.rs
- Remove needless borrow and closure in main.rs
- Add a check while trying to resolve parents, so that for links like
  [`::unresolved::path`], rustdoc will say:
    "no item named `unresolved` in scope"
  instead of:
    "no item named `` in scope"

- Update corresponding test
replace TODO with FIXME
document move expression lowering flow
This was an issue for old ptx ISA versions. Those are not supported by rustc anymore
- Check whether an unresolved path is in fact invalid. This prevents rustdoc
  from emitting nonsensical diagnostics like:

  - "no item named `std:` in scope"
  - "no item named `` in scope"

  Instead rustdoc will now say "has invalid path separator" (the same message
  from `MalformedGenerics::InvalidPathSeparator`)

  This is done by checking whether each path segment is empty or contains extra ":"
  after it's been split by the path separator "::".

- Add a dedicated test `tests/rustdoc-ui/intra-doc/invalid-path-separator.rs`
  for this.

- Some unrelated test snapshots have been updated because of this new check.
Replace a hardcoded constant with `mem::variant_count` to keep in-sync
with the `ResolutionFailure` enum.
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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-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-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue. labels May 11, 2026
@JonathanBrouwer
Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 11, 2026

📌 Commit 65d0e52 has been approved by JonathanBrouwer

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 11, 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 May 12, 2026
@rust-bors
Copy link
Copy Markdown
Contributor

rust-bors Bot commented May 12, 2026

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 30m 52s
Pushing aa31d6d to main...

@rust-bors rust-bors Bot merged commit aa31d6d into rust-lang:main May 12, 2026
12 checks passed
@rustbot rustbot added this to the 1.97.0 milestone May 12, 2026
@github-actions
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 64a965e (parent) -> aa31d6d (this PR)

Test differences

Show 136 test diffs

Stage 1

  • [assembly] tests/assembly-llvm/nvptx-debug.rs: [missing] -> ignore (only executed when the architecture is nvptx64) (J1)
  • [mir-opt] tests/mir-opt/instsimplify/raw_eq.rs: [missing] -> pass (J1)
  • [mir-opt] tests/mir-opt/pre-codegen/array_eq.rs: [missing] -> pass (J1)
  • [ui] tests/rustdoc-ui/intra-doc/invalid-path-separator.rs: [missing] -> pass (J1)
  • [ui] tests/ui/feature-gates/feature-gate-move_expr.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/async-closures.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/borrow-only.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/capture-reference.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/copy-type.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/double-move.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/move-fnonce.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/name-resolution.rs: [missing] -> ignore (ignored always ((Tracking Issue for move expressions (move(expr)) #155050): currently ICEs instead of reporting a name-resolution error)) (J1)
  • [ui] tests/ui/move-expr/nested-closures-mutate-before-call.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/nested-closures.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/nested-move-expr.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/outside-plain-closure.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/parse-ambiguity-errors.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/parse-ambiguity.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/plain-closure.rs: [missing] -> pass (J1)
  • [ui] tests/ui/move-expr/use-after-move.rs: [missing] -> pass (J1)
  • [codegen] tests/codegen-llvm/array-drop-glue.rs#OPT: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/array-drop-glue.rs#RAW: [missing] -> pass (J3)

Stage 2

  • [ui] tests/ui/feature-gates/feature-gate-move_expr.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/async-closures.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/borrow-only.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/capture-reference.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/copy-type.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/double-move.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/move-fnonce.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/name-resolution.rs: [missing] -> ignore (ignored always ((Tracking Issue for move expressions (move(expr)) #155050): currently ICEs instead of reporting a name-resolution error)) (J0)
  • [ui] tests/ui/move-expr/nested-closures-mutate-before-call.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/nested-closures.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/nested-move-expr.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/outside-plain-closure.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/parse-ambiguity-errors.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/parse-ambiguity.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/plain-closure.rs: [missing] -> pass (J0)
  • [ui] tests/ui/move-expr/use-after-move.rs: [missing] -> pass (J0)
  • [mir-opt] tests/mir-opt/instsimplify/raw_eq.rs: [missing] -> pass (J2)
  • [mir-opt] tests/mir-opt/pre-codegen/array_eq.rs: [missing] -> pass (J2)
  • [assembly] tests/assembly-llvm/nvptx-debug.rs: [missing] -> ignore (only executed when the architecture is nvptx64) (J4)
  • [codegen] tests/codegen-llvm/array-drop-glue.rs#OPT: [missing] -> pass (J4)
  • [codegen] tests/codegen-llvm/array-drop-glue.rs#RAW: [missing] -> pass (J4)
  • [ui] tests/rustdoc-ui/intra-doc/invalid-path-separator.rs: [missing] -> pass (J5)

Additionally, 92 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 aa31d6d8020dcb7c6e6635648d1ca2bc18caf059 --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-aarch64-linux: 1h 49m -> 2h 33m (+40.4%)
  2. i686-gnu-1: 1h 52m -> 2h 24m (+29.1%)
  3. dist-apple-various: 2h -> 1h 28m (-26.0%)
  4. x86_64-gnu-llvm-22-2: 1h 17m -> 1h 36m (+24.2%)
  5. dist-armv7-linux: 1h 16m -> 1h 33m (+22.7%)
  6. x86_64-msvc-2: 1h 56m -> 2h 21m (+20.8%)
  7. dist-ohos-armv7: 1h 2m -> 1h 13m (+17.9%)
  8. x86_64-gnu-llvm-21: 1h 16m -> 1h 2m (-17.8%)
  9. dist-powerpc64le-linux-musl: 1h 36m -> 1h 19m (-17.1%)
  10. dist-aarch64-apple: 1h 49m -> 2h 2m (+12.4%)
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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#147672 LLBC-linker: Do not strip debug symbols for the nvptx targe… 9a7bbe9552b649d6f634702f30f091fdf259b979 (link)
#155023 Introduce move expressions (move($expr)) 1fdef73b3a44e785f4d79b504f248722ac2c1a78 (link)
#155169 jsondoclint: simplify code using idiomatic Rust 9c7e57ea2e9dd7889146fa4ffca2a417b5edbf83 (link)
#155184 Have arrays' drop_glue just unsize and call the slice ve… 53e468dd8ab3943b71bc7505b28b6cdafa44c3b6 (link)
#156022 rustdoc: Fix cosmetic issues when reporting unresolved path… 5cfad63a6acd2ae97b31d1d8f6efb17d1267627d (link)
#156429 Simplify intrinsic::raw_eq in MIR when possible 908f03245f890014a64e0c2cea7170e670e56ecf (link)
#156442 Show intrinsics::gpu in docs 46b64873285a0145fe3051d31713ee41e15e29f8 (link)
#156448 miri subtree update 16f096956595b996c838908dacf2caa6a11bdf38 (link)
#156461 LLVM 23: Specify returnaddress intrinsic return type b5a8aa1bcf3e84f66f8575a21dfa88bf3f1a55b1 (link)
#156462 LLVM 23: Accept float (instead of hex) literals in codegen … f6fff514836becc6a26e224e73d5840728977751 (link)
#156466 Refactor CheckAttrVisitor so rustfmt can format it. 747be895691291958d6e7b1a4e22eba447d04656 (link)

previous master: 64a965e901

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

@rust-timer
Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (aa31d6d): 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
Improvements ✅
(secondary)
-1.3% [-1.3%, -1.3%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary 2.9%, secondary -2.2%)

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

mean range count
Regressions ❌
(primary)
4.3% [3.0%, 6.2%] 5
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-4.0% [-4.0%, -4.0%] 1
Improvements ✅
(secondary)
-2.2% [-2.4%, -2.0%] 2
All ❌✅ (primary) 2.9% [-4.0%, 6.2%] 6

Cycles

Results (primary 3.0%, secondary 15.0%)

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

mean range count
Regressions ❌
(primary)
3.0% [2.1%, 5.0%] 9
Regressions ❌
(secondary)
15.0% [3.4%, 23.1%] 11
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 3.0% [2.1%, 5.0%] 9

Binary size

Results (primary 0.3%)

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

mean range count
Regressions ❌
(primary)
0.8% [0.5%, 1.0%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.6%, -0.6%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.3% [-0.6%, 1.0%] 3

Bootstrap: 498.063s -> 501.063s (0.60%)
Artifact size: 397.28 MiB -> 397.32 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-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. 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-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-rustfmt Relevant to the rustfmt team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.