Recently, the defaults for
x.py, the tool used to bootstrap the Rust compiler from source, changed. If you regularly contribute to Rust, this might affect your workflow.
What changes were made?
The default stage is now dependent on the subcommand:
dist: stage 2
build: stage 1
test: stage 1
doc: stage 0
rustcartifacts are no longer built by
x.py build --stage 1. To get the old behavior back, use
x.py build --stage 1 src/rustc. The new behavior for
build --stage 1builds everything except
rustc, which includes the standard library,
rustdoc, and various other tools (if the tools are enabled).
debuginfonow defaults to
debug = true. Previously, the default was 2.
Why were the changes made?
x.py build would build
Normally, contributors only want to build the compiler once, which lets them test their changes quickly. After this change, that's now the default:
debuginfo = 2 generates several gigabytes of debug information,
making the previous default settings for
debug = true very painful.
For a detailed rationale of the changes, as well as more information about the alternatives considered, see
- the MCP
- the implementation PR
- the Zulip stream