Skip to content

Rollup of 29 pull requests - #160493

Merged
rust-bors[bot] merged 79 commits into
rust-lang:mainfrom
Kobzol:rollup-gSPQQor
Aug 4, 2026
Merged

Rollup of 29 pull requests#160493
rust-bors[bot] merged 79 commits into
rust-lang:mainfrom
Kobzol:rollup-gSPQQor

Conversation

@Kobzol

@Kobzol Kobzol commented Aug 4, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

chirizxc and others added 30 commits July 11, 2026 14:27
Signed-off-by: Amirhossein Akhlaghpour <m9.akhlaghpoor@gmail.com>
Co-authored-by: Clar Fon <15850505+clarfonthey@users.noreply.github.com>
```
error[E0277]: the trait bound `needs_borrow::Hello: needs_borrow::Tr` is not satisfied
  --> $DIR/ownership-mismatch-on-arg.rs:42:13
   |
LL |             foo(hi, hi, hi);
   |             ^^^ --  -- `needs_borrow::Hello` doesn't satisfy the trait bound
   |             |   |
   |             |   `needs_borrow::Hello` doesn't satisfy the trait bound
   |             unsatisfied trait bound
   |
help: the trait `needs_borrow::Tr` is not implemented for `needs_borrow::Hello`
  --> $DIR/ownership-mismatch-on-arg.rs:27:5
   |
LL |     struct Hello;
   |     ^^^^^^^^^^^^
help: the trait `needs_borrow::Tr` is implemented for `&needs_borrow::Hello`
  --> $DIR/ownership-mismatch-on-arg.rs:30:5
   |
LL |     impl Tr for &Hello {}
   |     ^^^^^^^^^^^^^^^^^^
note: required by a bound in `needs_borrow::foo`
  --> $DIR/ownership-mismatch-on-arg.rs:32:15
   |
LL |     fn foo<T: Tr, K: std::fmt::Debug>(_v: T, _w: T, _k: K) {}
   |               ^^ required by this bound in `foo`
help: consider borrowing these argument
   |
LL |             foo(&hi, &hi, hi);
   |                 +    +
```
The linux kernel still uses fentry for x86 and s390x arches.
s390x depends entirely on the compiler to record and nop
these sections.

This facilitates support for inserting nop's and/or recording the
location of each mcount call in a special section named `__mcount_loc`.

These attributes are currently only supported with fentry on the s390x
target, otherwise they are quietly ignored (except on s390x).
* fix borrowck ICE for consts with fn pointer type

annotate_argument_and_return_for_borrow called tcx.fn_sig on the item being
checked whenever its type was FnDef or FnPtr. for a const whose type is a fn
pointer that's not a function item, so we ICE'd with "unexpected sort of node
in fn_sig". take the signature from the fn ptr type instead and skip the
annotation when there's no fn decl.
* run rustfmt and refmt
* fix borrowck ICE for consts with fn pointer type

annotate_argument_and_return_for_borrow called tcx.fn_sig on the item being
checked whenever its type was FnDef or FnPtr. for a const whose type is a fn
pointer that's not a function item, so we ICE'd with "unexpected sort of node
in fn_sig". take the signature from the fn ptr type instead and skip the
annotation when there's no fn decl.
* edit comment
* use ty.fn_sig per review
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Aug 4, 2026
@rustbot rustbot added A-attributes Area: Attributes (`#[…]`, `#![…]`) A-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like 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-infra Relevant to the infrastructure 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. labels Aug 4, 2026
@Kobzol

Kobzol commented Aug 4, 2026

Copy link
Copy Markdown
Member Author

@bors r+ p=10 note="Rollup including a Docker pull change, hoping to fix CI"

@rust-bors

rust-bors Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

📌 Commit ddfdec8 has been approved by Kobzol

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 Aug 4, 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 Aug 4, 2026
@rust-bors

rust-bors Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: Kobzol
Duration: 3h 26m 33s
Pushing 0b63def to main...

@rust-bors
rust-bors Bot merged commit 0b63def into rust-lang:main Aug 4, 2026
14 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Aug 4, 2026
@Kobzol
Kobzol deleted the rollup-gSPQQor branch August 4, 2026 12:39
@github-actions

github-actions Bot commented Aug 4, 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 c9ff496 (parent) -> 0b63def (this PR)

Test differences

Show 259 test diffs

Stage 1

  • [ui] tests/ui/associated-types/normalize-supertrait-projection-in-dyn-61083.rs#current: [missing] -> pass (J0)
  • [ui] tests/ui/associated-types/normalize-supertrait-projection-in-dyn-61083.rs#next: [missing] -> pass (J0)
  • [ui] tests/ui/borrowck/const-fn-ptr-borrow-annotation.rs: [missing] -> pass (J0)
  • [ui] tests/ui/c-variadic/reject-varargs-without-pattern-post-expansion.rs: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/generic_const_exprs/direct-inline-const-generic-default.rs: [missing] -> pass (J0)
  • [ui] tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/duplicate/both_decl_and_impl.rs: [missing] -> pass (J0)
  • [ui] tests/ui/eii/static/multiple_impls.rs: pass -> [missing] (J0)
  • [ui] tests/ui/macros/derive-of-trait.rs: [missing] -> pass (J0)
  • [ui] tests/ui/suggestions/suggest-exact-alias-before-similar-name.rs: [missing] -> pass (J0)
  • [ui] tests/ui/trait-bounds/ownership-mismatch-on-arg.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/associated-types/normalize-supertrait-projection-in-dyn-61083.rs#current: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/associated-types/normalize-supertrait-projection-in-dyn-61083.rs#next: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/borrowck/const-fn-ptr-borrow-annotation.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/c-variadic/reject-varargs-without-pattern-post-expansion.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/const-generics/generic_const_exprs/direct-inline-const-generic-default.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/eii/duplicate/both_decl_and_impl.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/eii/static/multiple_impls.rs: pass -> [missing] (J2)
  • [ui (polonius)] tests/ui/macros/derive-of-trait.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/suggestions/suggest-exact-alias-before-similar-name.rs: [missing] -> pass (J2)
  • [ui (polonius)] tests/ui/trait-bounds/ownership-mismatch-on-arg.rs: [missing] -> pass (J2)
  • [codegen] tests/codegen-llvm/instrument-mcount-opts.rs#ncyr: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/instrument-mcount-opts.rs#ycnr: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/instrument-mcount-opts.rs#ycyr: [missing] -> pass (J3)
  • [codegen] tests/codegen-llvm/lib-optimizations/slice-contains.rs: [missing] -> pass (J3)
  • [assembly] tests/assembly-llvm/indexing-with-bools-no-redundant-instructions.rs: [missing] -> pass (J9)
  • [ui] tests/rustdoc-ui/ice-clean-generic-args-133637.rs: [missing] -> pass (J9)
  • slice::test_contains_bytewise_types: [missing] -> pass (J10)

Stage 2

  • [ui] tests/ui/eii/duplicate/both_decl_and_impl.rs: [missing] -> ignore (gcc backend is marked as ignore) (J1)
  • [ui] tests/ui/eii/static/multiple_impls.rs: ignore (gcc backend is marked as ignore) -> [missing] (J1)
  • [ui] tests/ui/associated-types/normalize-supertrait-projection-in-dyn-61083.rs#current: [missing] -> pass (J4)
  • [ui] tests/ui/associated-types/normalize-supertrait-projection-in-dyn-61083.rs#next: [missing] -> pass (J4)
  • [ui] tests/ui/borrowck/const-fn-ptr-borrow-annotation.rs: [missing] -> pass (J4)
  • [ui] tests/ui/c-variadic/reject-varargs-without-pattern-post-expansion.rs: [missing] -> pass (J4)
  • [ui] tests/ui/const-generics/generic_const_exprs/direct-inline-const-generic-default.rs: [missing] -> pass (J4)
  • [ui] tests/ui/contracts/contract-clause-unused-parens-issue-143754.rs: [missing] -> pass (J4)
  • [ui] tests/ui/macros/derive-of-trait.rs: [missing] -> pass (J4)
  • [ui] tests/ui/suggestions/suggest-exact-alias-before-similar-name.rs: [missing] -> pass (J4)
  • [ui] tests/ui/trait-bounds/ownership-mismatch-on-arg.rs: [missing] -> pass (J4)
  • [codegen] tests/codegen-llvm/instrument-mcount-opts.rs#ncyr: [missing] -> pass (J5)
  • [codegen] tests/codegen-llvm/instrument-mcount-opts.rs#ycnr: [missing] -> pass (J5)
  • [codegen] tests/codegen-llvm/instrument-mcount-opts.rs#ycyr: [missing] -> pass (J5)
  • [codegen] tests/codegen-llvm/lib-optimizations/slice-contains.rs: [missing] -> pass (J5)
  • [ui] tests/ui/eii/duplicate/both_decl_and_impl.rs: [missing] -> pass (J6)
  • [ui] tests/ui/eii/static/multiple_impls.rs: pass -> [missing] (J6)
  • [assembly] tests/assembly-llvm/indexing-with-bools-no-redundant-instructions.rs: [missing] -> ignore (only executed when the architecture is x86_64) (J7)
  • [assembly] tests/assembly-llvm/indexing-with-bools-no-redundant-instructions.rs: [missing] -> pass (J8)
  • [ui] tests/ui/eii/duplicate/both_decl_and_impl.rs: [missing] -> ignore (ignored when the operating system and target environment are windows-gnu) (J11)
  • [ui] tests/ui/eii/static/multiple_impls.rs: ignore (ignored when the operating system and target environment are windows-gnu) -> [missing] (J11)
  • slice::test_contains_bytewise_types: [missing] -> pass (J12)
  • [ui] tests/rustdoc-ui/ice-clean-generic-args-133637.rs: [missing] -> pass (J13)
  • [assembly] tests/assembly-llvm/indexing-with-bools-no-redundant-instructions.rs: [missing] -> ignore (ignored when the operating system is windows (CHECK patterns use the SysV x86-64 calling convention)) (J14)

Additionally, 206 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 0b63defc8fd68957c635fe61f097b84df8fd9611 --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-gcc-core-tests: 16m 50s -> 8m 2s (-52.2%)
  2. dist-powerpc-linux: 1h 6m -> 1h 31m (+36.7%)
  3. test-various: 2h 2m -> 1h 18m (-36.1%)
  4. x86_64-msvc-ext1: 1h 42m -> 2h 18m (+35.0%)
  5. dist-x86_64-llvm-mingw: 2h 1m -> 1h 24m (-30.4%)
  6. x86_64-gnu-miri: 1h 7m -> 1h 27m (+30.1%)
  7. dist-various-1: 36m 8s -> 46m 37s (+29.0%)
  8. x86_64-gnu-tools: 45m 13s -> 58m 17s (+28.9%)
  9. dist-riscv64-linux-gnu: 1h 10m -> 1h 30m (+28.2%)
  10. x86_64-gnu-llvm-21-1: 39m 20s -> 49m 51s (+26.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

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#153749 Account for ownership mismatch on argument that doesn't mee… 112dc7916b56bd059f614551d20d4c87a488ff10 (link)
#159130 a bit optimize four-digit chunks in integer formatting 8b5d1cc1fed0a8df1c5cb30d248b9a6baa3e1e59 (link)
#159326 Deny multiple EII impls on a single item 556b87b71d819d3e8920b88b605813fe5675e27c (link)
#159535 Optimize slice::contains for bytewise types 6bcf3f77ece10604a6976cea1570f206ba14ff8b (link)
#159595 Promote loongarch32-unknown-none* to Tier 2 2c464b7628505788c971b1b08184ca08ade5741b (link)
#160184 Add -Zinstrument-mcount={fentry-nop-record,fentry-record} 5c46c011fb4cdf4b97c3c904800808c6af27833e (link)
#160320 point at trait definition when it is used as a derive macro 75fcee1a3300c39e6ead5e43c37a41352a3686a7 (link)
#160369 When suggesting method names, prefer exact doc aliases ov… a8e3bd02602378064c67dbdaef85181a88f6b099 (link)
#160406 DepKind cleanups 5a949d15e4136fe73658259561b46069d249c098 (link)
#160424 Use thread::available_parallelism as the default limit fo… 77732bcb654f0ef32862f2a037825ffcbeaf4b96 (link)
#160434 Avoid Docker push when the image did not change 3d5eae4e68b5abc861bc24c5626430c4e3934c7b (link)
#159303 Fix ICE for direct inline const generic defaults ab7e8c6e35ab71c76efde719e53c664229ab677f (link)
#159977 Add regression test for bool indexing codegen 1b870504dfb5f27f4c4d384f371da3231c6463ea (link)
#160011 remove InterpError::map_err_info 73358185ccce067f29117e400cf10e554acbea9a (link)
#160165 reject ... without pattern post-expansion e3bc06f3f26979f687f985652f38e0090e14b5f4 (link)
#160172 tests: Enable feature(stmt_expr_attributes) in `2229_clos… e6b221858cddb66f6be03c7f526410e4795df6b9 (link)
#160295 Fix rustdoc ICE when checking if a generic arg can be elided b138631e22fa605f2ab8a5e9a30140e80d04b3be (link)
#160305 Linkify C-SKY targets in platform-support.md db7b459169908b2959c63d3442a136985990e504 (link)
#160314 fix borrowck ICE for consts with fn pointer type a19551cd521d1ab1dda97e958dbc4c001a9951dc (link)
#160322 ElaborateBoxDeref: remove unnecessary projection fd149c723c98561d2ed5fa028a02f9971d613a74 (link)
#160338 Add regression test for supertrait associated type normaliz… cb8e629c85f724bbe13f29124cb2f22a4dd9bf5b (link)
#160340 Add regression test for unused_parens on contract clauses 73a5c7b237d7436eaa3c2472b7c88354f2bab3fe (link)
#160371 Add doc aliases for transpositions read_exact_buf and `re… ba64014635042c8bbc04c84ea713502208b59192 (link)
#160384 Add PR body notes for Cargo lock file maintenance d8f6d62750a9519825936a22adf6833d9c6c5304 (link)
#160412 Move duplicate-names check for #[rustc_must_implement_one_o… 3f81b4564f8874917912f5ebd5b532bdffe37462 (link)
#160427 Run try builds on EC2 by default e129d44afeed272b917040153557c0390568a16a (link)
#160435 bump tracing-tree 1d2efa478ab6ec5cc9a10bf9c51c1390491f65ba (link)
#160449 Fix lookup of object files 5fc49b6de6d07542ff60bc7ad9b0e56f4c19bd95 (link)
#160477 Update the tracking issue for borrowed_buf_init b196b28a5d03bda925fd4b9da23eb41c8d5eb6fe (link)

previous master: c9ff496891

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 (0b63def): 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 -0.5%, secondary -0.7%)

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

mean range count
Regressions ❌
(primary)
3.6% [2.9%, 4.3%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.3% [-3.9%, -0.4%] 10
Improvements ✅
(secondary)
-0.7% [-1.1%, -0.5%] 19
All ❌✅ (primary) -0.5% [-3.9%, 4.3%] 12

Cycles

Results (primary -1.2%, secondary 0.4%)

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

mean range count
Regressions ❌
(primary)
0.9% [0.7%, 1.0%] 3
Regressions ❌
(secondary)
1.2% [0.4%, 2.2%] 6
Improvements ✅
(primary)
-2.5% [-6.7%, -0.6%] 5
Improvements ✅
(secondary)
-0.9% [-1.3%, -0.6%] 4
All ❌✅ (primary) -1.2% [-6.7%, 1.0%] 8

Binary size

Results (primary 0.1%, secondary 0.0%)

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

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.5%] 8
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 5
Improvements ✅
(primary)
-0.0% [-0.1%, -0.0%] 5
Improvements ✅
(secondary)
-0.0% [-0.1%, -0.0%] 3
All ❌✅ (primary) 0.1% [-0.1%, 0.5%] 13

Bootstrap: 489.838s -> 489.577s (-0.05%)
Artifact size: 390.28 MiB -> 390.24 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-CI Area: Our Github Actions CI A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues. A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. O-unix Operating system: Unix-like 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-infra Relevant to the infrastructure 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.