bootstrap should be able to fully rely on RUSTC_WRAPPER
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 119k
- Forks
- 16.1k
- PR merge metrics
- PR metrics pending
Description
With https://github.com/rust-lang/cargo/pull/13659, cargo now respects RUSTC_WRAPPER for all rustc invocations. So bootstrap should be able to set RUSTC to a non-existing binary and rely on RUSTC_WRAPPER for everything, which could simplift some logic.
See https://github.com/rust-lang/rust/pull/127682 for what that could look like. However, this is currently blocked on https://github.com/rust-lang/libc/issues/3772, and there are likely other components that also still use RUSTC (e.g. Miri and/or clippy might rely on it when running in x.py).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the bootstrap logic and the x.py paths that invoke rustc, then compare them with Cargo's RUSTC_WRAPPER behavior from pull request 13659. Check the related rust-lang/rust pull request 127682 and libc issue 3772 before changing anything; done means bootstrap can use a nonexistent RUSTC while the wrapper handles all required rustc invocations, including other components such as Miri or clippy.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- build-system, compilers
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100