Skip to content

Rollup of 11 pull requests - #160146

Merged
rust-bors[bot] merged 42 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-BmIjcA0
Jul 29, 2026
Merged

Rollup of 11 pull requests#160146
rust-bors[bot] merged 42 commits into
rust-lang:mainfrom
JonathanBrouwer:rollup-BmIjcA0

Conversation

@JonathanBrouwer

Copy link
Copy Markdown
Contributor

Successful merges:

r? @ghost

Create a similar rollup

scottmcm and others added 30 commits July 19, 2026 12:47
Adds support for encoding constants of types allowed by the
adt_const_params and unsized_const_params features (i.e., char, str,
tuple, array, slice, struct, enum, and reference values) as literal
arguments, and fixes the encoding of bool values to be 0 and 1, and of
negative integer values to be their decimal values preceded by n.
When `-Z implicit-sysroot-deps=false`, the sysroot is not added to the list of search paths for resolving top level dependencies.
One UI test that fails to find crate `std` as it does not look in the sysroot.
One UI test that which only transitively depends on std, and thus it is
searched for in the sysroot.
1) Depending transitively on a lib in the sysroot resolves fine with `-Zimplicit-sysroot-deps=false`
2) Depending directly on a lib in the sysroot does not resolve implicitly with `-Zimplicit-sysroot-deps=false`
A closure inside an array-length constant in a generic async function used to ICE
with "expected type of closure to be a closure"; it now emits ordinary errors. Add
a regression test locking that in.
Part of a plan to move it and Attribute to a attribute-only crate below rustc_hir, where these inherent impls will no longer be possible
@rustbot rustbot added the T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. label Jul 29, 2026
@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@bors r+ rollup=never p=5

Trying commonly failed jobs
@bors try jobs=dist-various-1,test-various,x86_64-gnu-aux,x86_64-gnu-llvm-21-3,x86_64-msvc-1,aarch64-apple,x86_64-mingw-1,i686-msvc-*

@rust-bors

rust-bors Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

📌 Commit 28018c2 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 Jul 29, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Jul 29, 2026
Rollup of 11 pull requests


try-job: dist-various-1
try-job: test-various
try-job: x86_64-gnu-aux
try-job: x86_64-gnu-llvm-21-3
try-job: x86_64-msvc-1
try-job: aarch64-apple
try-job: x86_64-mingw-1
try-job: i686-msvc-*
@rust-bors

This comment has been minimized.

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

Rollup of 11 pull requests

Successful merges:

 - #158460 (Remove llvm_enzyme feature outside of bootstrap)
 - #159509 (Generate `valid_range`s for enums sign-agnostically)
 - #159632 (CFI: Add support for the adt_const_params feature)
 - #159671 (Add semver check test command for checking API compatibility of stdlib)
 - #157058 (Rustdoc label badge for notable traits)
 - #159717 (Add `-Zimplicit-sysroot-deps`)
 - #159850 (Add regression test for closure in array-length const generic)
 - #159994 (Show jobs where a given test was executed in `test-dashboard`)
 - #160110 (convert rustc_hir::Target inherent methods to From impls)
 - #160123 (add additional license option for third-party dependencies)
 - #160131 (bootstrap: remove temporary bors email lookup)
@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 Jul 29, 2026
@rust-bors

rust-bors Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

💔 Test for bfef32c failed: CI. Failed job:

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job aarch64-apple 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] rustc_windows_rc test:false 0.085
   Compiling wasm-encoder v0.219.2
error: linking with `cc` failed: exit status: 1
  |
  = note:  "cc" "/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage1-rustc/release/build/nix/a9c1199d78bf187a/out/rustc54mL6K/symbols.o" "<4 object files omitted>" "/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage1-rustc/release/build/cfg_aliases/9718c258d5387a2f/out/libcfg_aliases-9718c258d5387a2f.rlib" "<sysroot>/lib/rustlib/aarch64-apple-darwin/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,libcfg_if-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-lSystem" "-lc" "-lm" "-arch" "arm64" "-mmacosx-version-min=11.0.0" "-o" "/Users/runner/work/rust/rust/build/aarch64-apple-darwin/stage1-rustc/release/build/nix/a9c1199d78bf187a/out/build_script_build" "-Wl,-dead_strip" "-nodefaultlibs"
  = note: some arguments are omitted. use `--verbose` to show all linker arguments
  = note: clang: error: unable to execute command: Segmentation fault: 11
          clang: error: linker command failed due to signal (use -v to see invocation)
          Apple clang version 17.0.0 (clang-1700.6.3.2)
          Target: arm64-apple-darwin24.6.0
          Thread model: posix
          InstalledDir: /Applications/Xcode_26.2.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
          clang: note: diagnostic msg: 
          ********************
          
          PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
          Linker snapshot containing input(s) and associated run script(s) are located at:
          clang: note: diagnostic msg: /var/folders/pd/2_nlvl1s4k121pdk4d5_2c8m0000gn/T/linker-crash-b905f2
          clang: note: diagnostic msg: 
          
          ********************
          

[RUSTC-TIMING] build_script_build test:false 1.963

@JonathanBrouwer

Copy link
Copy Markdown
Contributor Author

@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 Jul 29, 2026
@rust-bors

This comment has been minimized.

@rust-bors

rust-bors Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: c4b6af4 (c4b6af49fddb42c14213d93e7cf4125378267754)
Base parent: ce69831 (ce6983167791bf9418726264f8e5cc7abf73d69b)

@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 Jul 29, 2026
@rust-bors

rust-bors Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: JonathanBrouwer
Duration: 3h 45m 21s
Pushing b5be620 to main...

@rust-bors
rust-bors Bot merged commit b5be620 into rust-lang:main Jul 29, 2026
15 checks passed
@rustbot rustbot added this to the 1.99.0 milestone Jul 29, 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 d366396 (parent) -> b5be620 (this PR)

Test differences

Show 55 test diffs

Stage 0

  • core::builder::cli_paths::tests::x_test_semver_check: [missing] -> pass (J11)

Stage 1

  • [ui (polonius)] tests/ui/const-generics/generic_const_exprs/closure-in-array-len-ice-119316.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/crate-loading/no-implicit-sysroot-deps-pass.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/crate-loading/no-implicit-sysroot-deps.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/layout/enum-signedness.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/layout/enum-unusual-variants.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/sanitizer/cfi/const-generics.rs: [missing] -> pass (J0)
  • [ui (polonius)] tests/ui/sanitizer/kcfi/const-generics.rs: [missing] -> pass (J0)
  • [ui] tests/ui/const-generics/generic_const_exprs/closure-in-array-len-ice-119316.rs: [missing] -> pass (J1)
  • [ui] tests/ui/crate-loading/no-implicit-sysroot-deps-pass.rs: [missing] -> pass (J1)
  • [ui] tests/ui/crate-loading/no-implicit-sysroot-deps.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/enum-signedness.rs: [missing] -> pass (J1)
  • [ui] tests/ui/layout/enum-unusual-variants.rs: [missing] -> pass (J1)
  • [ui] tests/ui/sanitizer/cfi/const-generics.rs: [missing] -> pass (J1)
  • [ui] tests/ui/sanitizer/kcfi/const-generics.rs: [missing] -> pass (J1)
  • [run-make] tests/run-make/implicit-sysroot-deps: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-generic.rs: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-negative.rs: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-supertrait.rs: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-unlinkable-cross-crate.rs: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-unlinkable.rs: [missing] -> pass (J2)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge.rs: [missing] -> pass (J2)

Stage 2

  • [run-make] tests/run-make/implicit-sysroot-deps: [missing] -> pass (J3)
  • [ui] tests/ui/sanitizer/cfi/const-generics.rs: [missing] -> ignore (only executed when the operating system is linux) (J4)
  • [ui] tests/ui/sanitizer/kcfi/const-generics.rs: [missing] -> ignore (only executed when the operating system is linux) (J4)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-generic.rs: [missing] -> pass (J5)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-negative.rs: [missing] -> pass (J5)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-supertrait.rs: [missing] -> pass (J5)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-unlinkable-cross-crate.rs: [missing] -> pass (J5)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge-unlinkable.rs: [missing] -> pass (J5)
  • [rustdoc-html] tests/rustdoc-html/notable-trait/notable-trait-badge.rs: [missing] -> pass (J5)
  • [ui] tests/ui/const-generics/generic_const_exprs/closure-in-array-len-ice-119316.rs: [missing] -> pass (J6)
  • [ui] tests/ui/crate-loading/no-implicit-sysroot-deps-pass.rs: [missing] -> pass (J6)
  • [ui] tests/ui/crate-loading/no-implicit-sysroot-deps.rs: [missing] -> pass (J6)
  • [ui] tests/ui/layout/enum-unusual-variants.rs: [missing] -> pass (J6)
  • [ui] tests/ui/sanitizer/cfi/const-generics.rs: [missing] -> ignore (ignored on targets without CFI sanitizer) (J7)
  • [ui] tests/ui/layout/enum-signedness.rs: [missing] -> pass (J8)
  • [ui] tests/ui/sanitizer/cfi/const-generics.rs: [missing] -> ignore (gcc backend is marked as ignore) (J9)
  • [ui] tests/ui/sanitizer/kcfi/const-generics.rs: [missing] -> ignore (gcc backend is marked as ignore) (J9)
  • [ui] tests/ui/sanitizer/kcfi/const-generics.rs: [missing] -> ignore (ignored on targets without kernel CFI sanitizer) (J10)
  • [ui] tests/ui/sanitizer/cfi/const-generics.rs: [missing] -> pass (J12)
  • [ui] tests/ui/sanitizer/kcfi/const-generics.rs: [missing] -> pass (J13)
  • [ui] tests/ui/layout/enum-signedness.rs: [missing] -> ignore (only executed when the pointer width is 64bit) (J14)

Additionally, 12 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 b5be620d5ac9824c4a6030df9fb72644ef4f459b --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-musl: 1h 24m -> 1h 54m (+35.9%)
  2. pr-check-1: 31m 42s -> 21m 2s (-33.6%)
  3. x86_64-gnu-gcc-core-tests: 11m 26s -> 7m 49s (-31.7%)
  4. dist-i586-gnu-i586-i686-musl: 19m 51s -> 25m 30s (+28.5%)
  5. x86_64-gnu: 2h 20m -> 1h 42m (-26.6%)
  6. armhf-gnu: 1h 27m -> 1h 5m (-25.5%)
  7. dist-x86_64-illumos: 1h 30m -> 1h 51m (+23.6%)
  8. arm-android: 1h 42m -> 1h 18m (-23.5%)
  9. aarch64-apple-macos-26: 2h 56m -> 3h 37m (+23.2%)
  10. x86_64-gnu-stable: 2h 15m -> 1h 44m (-22.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
#158460 Remove llvm_enzyme feature outside of bootstrap ad8a231b6beac7f7daeab2a59a18e63cddbb2b99 (link)
#159509 Generate valid_ranges for enums sign-agnostically 61a7fc53ddb8fb0df5cd9fb5580ac4ccdb4a5760 (link)
#159632 CFI: Add support for the adt_const_params feature ca106b66c65dd14863866eeed6c4c906922fc095 (link)
#159671 Add semver check test command for checking API compatibilit… 5f215dce476bca4baf4b3e36011bcebf4c4781c7 (link)
#157058 Rustdoc label badge for notable traits 01ca6b7b0ce01cb45cb60f0d785d02f5d0838970 (link)
#159717 Add -Zimplicit-sysroot-deps 502276fe1c49199461ac70a3824aeb886f3fab97 (link)
#159850 Add regression test for closure in array-length const gener… d2b17ef92aeaa2e6837ca1aacc531004eb3bae0b (link)
#159994 Show jobs where a given test was executed in `test-dashboar… 3489dc96704188acf2e3c7fa07dc9c018600cfb4 (link)
#160110 convert rustc_hir::Target inherent methods to From impls e5c2ea603f1aab4116942b50b6bfcc9df826d7fe (link)
#160123 add additional license option for third-party dependencies 405c61d1139a3289383e1beb7d3c9e4c31e15915 (link)
#160131 bootstrap: remove temporary bors email lookup 8636ff01de8c6dd0ef76aba3d14874ede30b15a5 (link)

previous master: d3663963ca

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 (b5be620): 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.7% [-3.1%, -0.4%] 2
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (primary -2.2%, secondary 1.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)
1.8% [0.8%, 3.8%] 3
Improvements ✅
(primary)
-2.2% [-5.6%, -0.4%] 5
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.2% [-5.6%, -0.4%] 5

Cycles

Results (primary 0.2%, secondary 5.7%)

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

mean range count
Regressions ❌
(primary)
1.0% [0.5%, 2.4%] 8
Regressions ❌
(secondary)
7.5% [0.5%, 18.5%] 21
Improvements ✅
(primary)
-3.0% [-3.5%, -2.4%] 2
Improvements ✅
(secondary)
-1.9% [-3.0%, -0.5%] 5
All ❌✅ (primary) 0.2% [-3.5%, 2.4%] 10

Binary size

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

Bootstrap: 489.658s -> 489.76s (0.02%)
Artifact size: 390.17 MiB -> 390.94 MiB (0.20%)

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-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-js Area: Rustdoc's JS front-end A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. PG-exploit-mitigations Project group: Exploit mitigations 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-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. 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.