Skip to content

Rollup of 9 pull requests - #153456

Merged
rust-bors[bot] merged 19 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-SJuaNHc
Mar 5, 2026
Merged

Rollup of 9 pull requests#153456
rust-bors[bot] merged 19 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-SJuaNHc

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lapla-cogito and others added 19 commits March 1, 2026 12:47
It has no effect. Presumably at some point in the past there were
generics involved here?
When running the `install src` command I'm seeing failures as the
`builder.doc_out(host)` directory does not exist. This is because
`match_paths_to_steps_and_run()` doesn't actually build any
documentation as the `paths.is_empty()` causes an early return. This
results in install failures as the `*/doc` src directory doesn't exist.

This patch ensures that the builder.doc_out(host) directory exists.

This fixes installing the Rust source when `build.docs = false`.

This fixes installing the Rust source code in OpenEmbedded.

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Jieyou Xu <jieyouxu@outlook.com>
Methods that perform internal iteration are typically named `for_each`.
…Amanieu

constify `Vec::{into, from}_raw_parts{_in|_alloc}`

due to Vec::drop not being const this is kinda necessary to make use of `const_heap`.
…risDenton

Use shlex instead of shell-words

In rust-lang#152712, the [`shell-words`] crate was introduced as a new dependency of `rustc_llvm` in order for its build script to parse the output of `llvm-config --quote-paths` and thereby handle paths containing whitespace; however, as [noted by bjorn3], that build script already transitively depends upon the [`shlex`] crate (via the [`cc`] crate) which provides similar functionality.

This patch is based off (the already-approved) rust-lang#153419, which would otherwise conflict.

[`cc`]: https://crates.io/crates/cc
[noted by bjorn3]: rust-lang#152712 (comment)
[`shell-words`]: https://crates.io/crates/shell-words
[`shlex`]: https://crates.io/crates/shlex

r? ChrisDenton
…p, r=jieyouxu

bootstrap: minimal fix for ./x install src with build.docs = false

`run_default_doc_steps()` is called to ensure the documentation is built by `Docs::run()` and it should build the documentation if it isn't already built.

When running the `install src` command I'm seeing failures as the `builder.doc_out(host)` directory does not exist. This is because `match_paths_to_steps_and_run()` doesn't actually build any documentation as the `paths.is_empty()` causes an early return. This results in install failures as the `*/doc` src directory doesn't exist.

This patch passes the paths to `run_step_descriptions()` when building documentation to ensure it is correctly built.

This fixes installing the Rust source code in OpenEmbedded.
Make `const_lit_matches_ty` check literal suffixes for exact type match

`const_lit_matches_ty` ignored literal suffixes. This let the `try_lower_anon_const_lit` fast path produce a mistyped `ty::Const::Value`, bypassing the type mismatch error that typeck would otherwise report.
Rename `QueryCache::iter` to `for_each`

Methods that perform internal iteration are typically named `for_each`.
…r=petrochenkov

Minor query cleanups

Details in individual commits.

r? @petrochenkov
Add a comment explaining the 'tcx lifetime.

I wrote this after thinking about where the `'tcx` lifetime actually comes from.

r? @bjorn3
…e, r=petrochenkov

Fix obtaining def_id from unresolved segment

This PR fixes ICE when trying to obtain `def_id` from an unresolved segment, part of rust-lang#118212, fixes rust-lang#153389.

r? @petrochenkov
Fix ICEs due to incomplete typechecking on struct literals with syntax errors.

Fixes rust-lang#153388.
Followup to rust-lang#153227.

Today I have learned that when we don’t emit a diagnostic *specifically from typeck*, we need to call `self.infcx.set_tainted_by_errors()` to signal that the type checking is incomplete despite the lack of error.

r? fmease
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Mar 5, 2026
@rustbot rustbot added A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-tidy Area: The tidy tool 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. labels Mar 5, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Member Author

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 11c4bea has been approved by JonathanBrouwer

It is now in the queue for this repository.

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

Copy link
Copy Markdown
Member Author

Trying commonly failed jobs
@bors try jobs=test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1

@rust-bors

rust-bors Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

⌛ Trying commit 11c4bea with merge 2bfe6e5

To cancel the try build, run the command @bors try cancel.

Workflow: https://github.com/rust-lang/rust/actions/runs/22731374655

rust-bors Bot pushed a commit that referenced this pull request Mar 5, 2026
Rollup of 9 pull requests


try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
@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 Mar 5, 2026
@rust-bors

rust-bors Bot commented Mar 5, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 36m 48s
Pushing 69370dc to main...

@rust-bors
rust-bors Bot merged commit 69370dc into rust-lang:main Mar 5, 2026
12 of 13 checks passed
@rustbot rustbot added this to the 1.96.0 milestone Mar 5, 2026
@rust-timer

Copy link
Copy Markdown
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#150845 bootstrap: minimal fix for ./x install src with build.docs … d80ccf5e9eea7881df86e105ea39dbc3750125d5 (link)
#152906 Make const_lit_matches_ty check literal suffixes for exac… b1cbe00081737d5625217bbea600cea97547f744 (link)
#153378 Rename QueryCache::iter to for_each 7cda20cf27144b32efcd43a5d35849829b28f73e (link)
#153386 Minor query cleanups f32bc5d9d2c318aa08cce38af66349b59bc76395 (link)
#153399 constify Vec::{into, from}_raw_parts{_in|_alloc} 62a5d7fe34f8f672b67d6c0024e2001073b27d12 (link)
#153422 Add a comment explaining the 'tcx lifetime. 5017f5a1e015a1739df221f9aefed6919f773ee0 (link)
#153435 Fix obtaining def_id from unresolved segment c2159adabee9d0f742301ebe51fb1251c05d1048 (link)
#153436 Use shlex instead of shell-words 4e67950d06130d3c94a725905fa5e61a49107748 (link)
#153453 Fix ICEs due to incomplete typechecking on struct literals … 0323664f41f00d3df3e8729814ab490204f7978d (link)

previous master: 64b72a1fa5

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

github-actions Bot commented Mar 5, 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 64b72a1 (parent) -> 69370dc (this PR)

Test differences

Show 392 test diffs

Stage 1

  • [ui] tests/ui/const-generics/mgca/const-arg-mismatched-literal-suffix.rs: [missing] -> pass (J1)
  • [ui] tests/ui/delegation/generics/unresolved-segment-ice-153389.rs: [missing] -> pass (J1)

Stage 2

  • [ui] tests/ui/const-generics/mgca/const-arg-mismatched-literal-suffix.rs: [missing] -> pass (J0)
  • [ui] tests/ui/delegation/generics/unresolved-segment-ice-153389.rs: [missing] -> pass (J0)

Additionally, 388 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 69370dc4a8862b8401615a2a7b950704ba66c495 --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. x86_64-gnu: 2h 29m -> 2h 10m (-12.5%)
  2. x86_64-gnu-llvm-21-3: 1h 57m -> 1h 42m (-12.3%)
  3. pr-check-1: 34m 24s -> 30m 45s (-10.6%)
  4. dist-x86_64-illumos: 1h 45m -> 1h 56m (+9.7%)
  5. test-various: 2h 7m -> 1h 56m (-9.3%)
  6. aarch64-gnu-llvm-20-2: 53m 22s -> 48m 57s (-8.3%)
  7. x86_64-rust-for-linux: 50m 12s -> 54m 17s (+8.2%)
  8. x86_64-gnu-llvm-21-1: 1h 15m -> 1h 9m (-7.9%)
  9. x86_64-msvc-2: 2h 25m -> 2h 13m (-7.8%)
  10. dist-x86_64-msvc-alt: 2h 41m -> 2h 28m (-7.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.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (69370dc): comparison URL.

Overall result: ❌ regressions - 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.1% [0.1%, 0.1%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -1.8%, secondary -1.5%)

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

mean range count
Regressions ❌
(primary)
2.3% [2.3%, 2.3%] 1
Regressions ❌
(secondary)
2.2% [2.2%, 2.2%] 1
Improvements ✅
(primary)
-2.2% [-3.8%, -0.5%] 11
Improvements ✅
(secondary)
-2.3% [-3.5%, -0.6%] 5
All ❌✅ (primary) -1.8% [-3.8%, 2.3%] 12

Cycles

Results (primary 2.9%, secondary 4.6%)

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

mean range count
Regressions ❌
(primary)
2.9% [2.4%, 3.3%] 3
Regressions ❌
(secondary)
4.6% [4.6%, 4.6%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.9% [2.4%, 3.3%] 3

Binary size

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

Bootstrap: 479.735s -> 482.035s (0.48%)
Artifact size: 395.00 MiB -> 397.04 MiB (0.52%)

@rust-bors

rust-bors Bot commented Mar 6, 2026

Copy link
Copy Markdown
Contributor

💥 Test timed out after 21600s

@rust-bors rust-bors Bot added the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Mar 6, 2026
@JonathanBrouwer
JonathanBrouwer deleted the rollup-SJuaNHc branch August 21, 2026 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.