Skip to content

Conversation

@Zalathar
Copy link
Member

@Zalathar Zalathar commented Nov 2, 2025

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

yotamofek and others added 23 commits October 22, 2025 13:06
This "cleanup" function is more than a decade old, and I can't find any
evidence of modern-day bootstrap being able to pass any of these flags to
`--host-rustcflags` or `--target-rustcflags`.
There are probably plenty of tests that will check this incidentally, but it's
convenient to have a dedicated self-test.
In particular, this eliminates the cryptic `of: &TestPaths` parameters.
This method no longer returns a `TestPaths`, so the old name is no longer
appropriate.
…r=joboet

Implement `strip_circumfix` lib feature

Tracking issue: rust-lang#147946
split definition and use site hidden tys

Tracking this implicitly is kinda messy and easy to get wrong.

r? `@BoxyUwU`
compiletest: Remove `cleanup_debug_info_options`

This "cleanup" function is more than a decade old, and I can't find any evidence of modern-day bootstrap being able to pass any of these flags to `--host-rustcflags` or `--target-rustcflags`.

I thought about replacing the cleanup with an assertion, but I think it's better to delete it entirely for now, and re-add checks later if they're motivated by actual problems in practice.

In addition to deleting some old and confusing code, this also lets us remove three instances of duplicating `TestCx`, which is the biggest win.

r? jieyouxu
compiletest: Don't modify `testpaths` when creating aux contexts

Modifying `TestCx::testpaths` makes it vastly harder to reason about how compiletest is using test paths, and can be avoided without much trouble by simply passing explicit source-file paths into a small number of auxiliary-aware methods.

---

This PR was originally based on a much larger change that split `TestPaths` into multiple structs and multiple `TestCx` fields (as seen in early revisions of rust-lang#148160), but after further cleanups it turned out that very few tweaks were actually needed to avoid changes to `testpaths`.

r? jieyouxu
…fleLapkin

rustc_codegen: fix musttail returns for cast/indirect ABIs

Fixes rust-lang#148239 rust-lang#144986

Explicit tail calls trigger `bug!` for any callee whose ABI returns via `PassMode::Cast`, and we forgot to to forward the hidden `sret` out-pointer when the ABI requested an indirect return. The former causes ICE, the latter produced malformed IR (wrong codegen) if the return value is large enough to need `sret`.

Updated the musttail helper to accept cast-mode returns, made it so that we pass the return pointer through the tail-call path.

Added two UI tests to demonstrate each case.

This is my first time contributing, please do check if I did it right.

r? theemathas
…ercote

Do not emit solver errors that contain error types

any follow-up errors are going to either be duplicates or often disappear if the error itself is fixed.

in this PR it mostly silences dyn-compat errors as all the other errors are already deduplicated outside of the test suite. The dyn compat errors are independent errors and I think if the dyn compatiblity depended on an error type it would not actually show, so this is PR is actually silencing independent errors, too.

I am opening this PR because I am seeing lots of `{type error}: const Trait` errors when adding more const checking. So instead of targetting just those specific errors, I wanted to try out fully avoiding such errors near the trait solver.

cc ``@rust-lang/types`` for thoughts
temporary-lifetime-extension.rs test works in all editions
…r=Noratrieb

docs: makes a note about possible building  `rustc 1.91.0 + host tools` for win7

I have make notes in docs that there is possible to build host tools for target `x86_64-win7-windows-msvc`.

<img width="668" height="331" alt="image" src="https://github.com/user-attachments/assets/0335bc72-963c-4bfd-9910-61963dbf7dd7" />

r? ````@roblabla````

````@rustbot```` label A-docs  O-windows-7

P.S. prebuilt binaries can be found [here](https://github.com/Fenex/rust-win7/releases).
…ouxu

Use --print host-tuple to get the host

`--print host-tuple` has been available since 1.84 so there's no longer a need to parse the output of `-vV`. Especially since this script is shipped with the toolchain.
@rustbot rustbot added A-compiletest Area: The compiletest test runner 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 F-explicit_tail_calls `#![feature(explicit_tail_calls)]` 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 Nov 2, 2025
@rustbot rustbot added 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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Nov 2, 2025
@Zalathar
Copy link
Member Author

Zalathar commented Nov 2, 2025

Rollup of everything not in #148380, while we track down an armhf-gnu failure.

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Nov 2, 2025

📌 Commit 3f6761b has been approved by Zalathar

It is now in the queue for this repository.

@bors bors 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 Nov 2, 2025
@bors
Copy link
Collaborator

bors commented Nov 2, 2025

⌛ Testing commit 3f6761b with merge be15aaf...

bors added a commit that referenced this pull request Nov 2, 2025
Rollup of 9 pull requests

Successful merges:

 - #147947 (Implement `strip_circumfix` lib feature)
 - #148170 (split definition and use site hidden tys)
 - #148194 (compiletest: Remove `cleanup_debug_info_options`)
 - #148199 (compiletest: Don't modify `testpaths` when creating aux contexts)
 - #148240 (rustc_codegen: fix musttail returns for cast/indirect ABIs)
 - #148290 (Do not emit solver errors that contain error types)
 - #148357 (temporary-lifetime-extension.rs test works in all editions)
 - #148362 (docs: makes a note about possible building  `rustc 1.91.0 + host tools` for win7)
 - #148367 (Use --print host-tuple to get the host)

r? `@ghost`
`@rustbot` modify labels: rollup
@bors bors mentioned this pull request Nov 2, 2025
@rust-log-analyzer
Copy link
Collaborator

The job test-various failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
---- [ui] tests/ui/explicit-tail-calls/become-indirect-return.rs stdout ----

error: test compilation failed although it shouldn't!
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/explicit-tail-calls/become-indirect-return.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=wasm32-wasip1" "--check-cfg" "cfg(test,FALSE)" "-O" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/explicit-tail-calls/become-indirect-return/a.wasm" "-A" "internal_features" "-A" "unused_parens" "-A" "unused_braces" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/wasm32-wasip1/native/rust-test-helpers"
stdout: none
--- stderr -------------------------------
error: <unknown>:0:0: in function _ZN22become_indirect_return8dispatch17h7543d969c4d22acaE void (ptr, ptr): WebAssembly 'tail-call' feature not enabled
       

error: aborting due to 1 previous error
------------------------------------------

@bors
Copy link
Collaborator

bors commented Nov 2, 2025

💔 Test failed - checks-actions

@bors bors 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 Nov 2, 2025
@rustbot rustbot removed the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 2, 2025
@Zalathar Zalathar deleted the rollup-3kuijsk branch November 2, 2025 09:14
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-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 F-explicit_tail_calls `#![feature(explicit_tail_calls)]` 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-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. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)

Projects

None yet

Development

Successfully merging this pull request may close these issues.