Skip to content

Rollup of 6 pull requests - #162510

Merged
rust-bors[bot] merged 14 commits into
rust-lang:mainfrom
Zalathar:rollup-0hi6WtW
Sep 9, 2026
Merged

Rollup of 6 pull requests#162510
rust-bors[bot] merged 14 commits into
rust-lang:mainfrom
Zalathar:rollup-0hi6WtW

Conversation

@Zalathar

@Zalathar Zalathar commented Sep 9, 2026

Copy link
Copy Markdown
Member

Successful merges:

r? @ghost

Create a similar rollup

lsunsi and others added 14 commits August 23, 2026 08:46
… works for them

Limit some `run-make` tests to LLVM until GCC backend works for them
…chsia"

This reverts commit 7a44484.

This is leading to the issue seen in
rust-lang#162272. We're also seeing the
same build issues when using a rust toolchain that contains this commit
for building fuchsia targets.
…r=Kobzol

Make `run-make` testsuite work with other codegen backend than LLVM

Needed for rust-lang#159924.

Currently, we always run `run-make` testsuite with the codegen backend rustc was compiled with. However, in CI it's compiled with LLVM, so when we want to test with GCC (with `--test-codegen-backend`), it compiles `rmake.rs` with the GCC backend, but when running the test, it doesn't use the GCC backend since it just calls `rustc`. So to get around that, I now pass the codegen backend through the environment and set it in the `rustc` function of `run_make_support`.

To be noted that for now it's only for the `rustc` function, no other command uses it. Should I extend it right away for all commands (well, likely only `cargo`) or just `rustc` for now is enough?

r? @jieyouxu
Avoid invalid suggestion in case of macro expansion without inferrable generic type

Closes rust-lang#129756 .

The main challenge for me in this PR was figuring out how to pass down the information of the code being generated from expansion. I went for the simplest approach I could think of, but I questioned myself if the boolean should be placed inside the Visitor. I don't have enough information to figure this out, if it's badly placed I'd be happy to fix and learn!

About the test, I split the two commits because we can see the issue being reproduced in the first commit but being fixed on the second. I also added a non-expansion example of the same code to show it won't get altered.

Oh, also I didn't know the best place to place the test. I went for the place with same kind of errors, but I guess `proc-macros` could also be a place.
…rochenkov

Use correct `dir_path` when parsing module from path

Fixes rust-lang#162080

We previously used the incorrect `dir_path` (which was `name`, the parent of `name/mod.rs`, in this case), and then joined it with `name/mod.rs` again, resulting in `name/name/mod.rs`.

The first commit adds the regression test and snapshot of current behavior, the second commit fixes it.

r? petrochenkov
triagebot: Subscribe me to amdgpu changes
…default, r=chenyukang

Revert "fuchsia: Add safestack as a supported sanitizer for x86_64 fuchsia"

This reverts commit 7a44484.

This is leading to the issue seen in
rust-lang#162272. We're also seeing the same build issues when using a rust toolchain that contains this commit for building fuchsia targets.
@rust-bors rust-bors Bot added the rollup A PR which is a rollup label Sep 9, 2026
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc 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. labels Sep 9, 2026
@Zalathar

Zalathar commented Sep 9, 2026

Copy link
Copy Markdown
Member Author

Rollup of everything.

@bors r+ rollup=never p=5

@rust-bors

rust-bors Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

📌 Commit b2e166a 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 Sep 9, 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 Sep 9, 2026
@rust-bors

rust-bors Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

☀️ Test successful - CI
Approved by: Zalathar
Duration: 3h 18m 40s
Pushing eca445e to main...

@rust-bors
rust-bors Bot merged commit eca445e into rust-lang:main Sep 9, 2026
14 checks passed
@rustbot rustbot added this to the 1.100.0 milestone Sep 9, 2026
@github-actions

github-actions Bot commented Sep 9, 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 1edd55d (parent) -> eca445e (this PR)

Test differences

Show 125 test diffs

Stage 1

  • [ui (polonius)] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/name/mod.rs: [missing] -> ignore (ignored used by another main test file) (J1)
  • [ui (polonius)] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/name/name/mod.rs: [missing] -> ignore (ignored used by another main test file) (J1)
  • [ui (polonius)] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/path-attr-inner-attr-nested-mod-rs.rs: [missing] -> pass (J1)
  • [crashes] tests/crashes/140693.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/146353.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/149015.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/152204.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/153368.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/154367.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/155482.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/158243.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/158773.rs: [missing] -> pass (J5)
  • [crashes] tests/crashes/160329.rs: [missing] -> pass (J5)
  • [ui] tests/ui/inference/need_type_info/derive-attribute-annotation-needed.rs: [missing] -> pass (J6)
  • [ui] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/name/mod.rs: [missing] -> ignore (ignored used by another main test file) (J6)
  • [ui] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/name/name/mod.rs: [missing] -> ignore (ignored used by another main test file) (J6)
  • [ui] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/path-attr-inner-attr-nested-mod-rs.rs: [missing] -> pass (J6)

Stage 2

  • [crashes] tests/crashes/140693.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/146210.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/146353.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/152204.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/153368.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/155482.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/155497.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/158243.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/158797.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/160329.rs: [missing] -> pass (J0)
  • [crashes] tests/crashes/160490.rs: [missing] -> pass (J0)
  • [run-make] tests/run-make/amdgpu-kd: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/atomic-lock-free: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/avr-custom-target-missing-cpu: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/avr-rjmp-offset: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/branch-protection-check-IBT: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/c-link-to-rust-va-list-fn: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/cdylib: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/codegen-options-parsing: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/compressed-debuginfo: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/const-trait-stable-toolchain: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/cross-lang-lto-upstream-rlibs: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/embed-source-dwarf: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/emit-stack-sizes: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/extern-fn-explicit-align: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/fat-lto-module-summary: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/fat-then-thin-lto: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/issue-149402-suggest-unresolve: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/link-cfg: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/link-eh-frame-terminator: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/linker-plugin-lto-fat: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/llvm-ident: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/llvm-location-discriminator-limit-dummy-span: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-avoid-object-duplication: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-empty: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-linkage-used-attr: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-long-filenames: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-long-filenames_cn: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-readonly-lib: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-smoke: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/lto-smoke-c: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/min-global-align: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/mismatching-target-triples: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/missing-unstable-trait-bound: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/musl-default-linking: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/naked-symbol-visibility: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/no-builtins-attribute: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/no-builtins-linker-plugin-lto: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/no-builtins-lto: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/optimization-remarks-dir-pgo: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/output-type-permutations: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/pgo-embed-bc-lto: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/pgo-gen-lto: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/pgo-gen-no-imp-symbols: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/pgo-indirect-call-promotion: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/print-cfg: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/print-request-help-stable-unstable: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/print-target-cpus-native: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/print-target-list: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/print-to-output: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/remap-path-prefix-dwarf: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/repr128-dwarf: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/requires-consistent-cpu-no-native: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/rustdoc/flag-namespaces-from-rustc: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/rustdoc/target-modifiers: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/sanitizer-cdylib-link: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/sanitizer-staticlib-link: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/simd-ffi: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/static-pie: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/target-cpu-precedence: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/target-specs: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/target-without-atomic-cas: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/thumb-interworking: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/track-pgo-dep-info: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/used-proc-macro: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/volatile-intrinsics: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [run-make] tests/run-make/wasm-unexpected-features: pass -> ignore (gcc backend is marked as ignore) (J2)
  • [crashes] tests/crashes/158773.rs: [missing] -> ignore (ignored if rustc wasn't built with debug assertions) (J3)
  • [ui] tests/ui/inference/need_type_info/derive-attribute-annotation-needed.rs: [missing] -> pass (J4)
  • [ui] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/name/mod.rs: [missing] -> ignore (ignored used by another main test file) (J4)
  • [ui] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/name/name/mod.rs: [missing] -> ignore (ignored used by another main test file) (J4)
  • [ui] tests/ui/modules/path-attr-inner-attr-nested-mod-rs/path-attr-inner-attr-nested-mod-rs.rs: [missing] -> pass (J4)
  • [crashes] tests/crashes/158773.rs: [missing] -> pass (J7)

(and 21 additional test diffs)

Additionally, 4 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 eca445e5ae4a6679cc27d3a09106ce245e13a5a6 --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. test-x86_64-msvc-ext2: 1h 3m -> 1h 53m (+77.8%)
  2. dist-x86_64-llvm-mingw: 1h 20m -> 2h 16m (+69.8%)
  3. dist-ohos-aarch64: 56m 25s -> 1h 24m (+50.3%)
  4. dist-arm-linux-gnueabi: 1h 3m -> 1h 30m (+42.9%)
  5. test-x86_64-gnu-llvm-22-3: 1h 22m -> 1h 58m (+42.9%)
  6. test-armhf-gnu: 1h 40m -> 59m 19s (-40.9%)
  7. test-x86_64-gnu-stable: 1h 58m -> 2h 42m (+37.4%)
  8. test-x86_64-msvc-2: 2h 39m -> 1h 43m (-34.8%)
  9. test-various: 2h 23m -> 1h 37m (-32.3%)
  10. test-x86_64-gnu-llvm-21-2: 1h 21m -> 1h 47m (+31.9%)
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-0hi6WtW branch September 9, 2026 10:12
@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (eca445e): comparison URL.

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

Max RSS (memory usage)

Results (primary -0.6%, secondary -1.1%)

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.9%, 0.9%] 1
Regressions ❌
(secondary)
2.9% [1.0%, 4.7%] 2
Improvements ✅
(primary)
-0.9% [-1.4%, -0.4%] 4
Improvements ✅
(secondary)
-3.1% [-3.9%, -2.4%] 4
All ❌✅ (primary) -0.6% [-1.4%, 0.9%] 5

Cycles

Results (primary -0.6%, secondary -1.4%)

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

mean range count
Regressions ❌
(primary)
2.8% [2.8%, 2.8%] 1
Regressions ❌
(secondary)
4.2% [3.9%, 4.7%] 3
Improvements ✅
(primary)
-1.0% [-2.9%, -0.4%] 11
Improvements ✅
(secondary)
-4.2% [-6.7%, -2.1%] 6
All ❌✅ (primary) -0.6% [-2.9%, 2.8%] 12

Binary size

Results (primary -0.0%, secondary -0.1%)

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

Bootstrap: 481.679s -> 481.923s (0.05%)
Artifact size: 403.98 MiB -> 403.28 MiB (-0.17%)

@rust-bors

rust-bors Bot commented Sep 9, 2026

Copy link
Copy Markdown
Contributor

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#162482 Make run-make testsuite work with other codegen backend t… ca1c2c283ebc2f9cf828eb2ddbc95100903644f5
(link)
#161587 Avoid invalid suggestion in case of macro expansion without… 37d92e60cc09df39f3dd6f8be1ab0f75d688a108
(link)
#162363 Use correct dir_path when parsing module from path 9ea1d4ff4997fe51a0b69f3e5b7901478ffb7a53
(link)
#162408 add crashtests [7/N] 3f40c2c687595dd87d95a2e9148d1e824d502b98
(link)
#162502 triagebot: Subscribe me to amdgpu changes 2d5df3b45ee1a4261cdfa2c5fc22db5c61c37061
(link)
#162505 Revert "fuchsia: Add safestack as a supported sanitizer for… 6f069db41a9f5040989fcbc756f685237eb00456
(link)

parent commit: 1edd55dcfc

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-compiletest Area: The compiletest test runner A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc 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.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants