Rust Language Bootstrap Team Progress Report 2023
Highlights and Development Statistics of 2023
This year with the Bootstrap Team label T-Bootstrap
:
201 issues were reported
x clippy
keeps nix-patching binaries- set
--change-id
in ci - Manifest issue with "preview" components
- When running CI locally with src/ci/docker/run.sh bootstrap can't access git history, requires a local LLVM build
- Bootstrap uses stage 1 artifacts in a stage 2 cross testing context
- error[E0599]: no method named
write_all
found for structFile
in the current scope - give a better error when
origin/HEAD
is vastly out of date - download-ci-llvm still builds compiler-rt
- The build system doesn't allow to customize compile/linker/cmake flags for sanitizers
- Cannot use unstable flags in RUSTFLAGS_BOOTSTRAP
- bootstrap: "test library/core --stage 2" does not actually test stage 2
- Bootstrap sometimes fails to build miri
- LLVMRust symbols not defined when building with -Zcross-crate-inline-threshold=always
- Mommy can't check rust-analyzer if I ask her for debuginfo
- bootstrap: fingerprinting is broken somehow
- Bootstrap: Build compiler crates that ought to compile on stable without
RUSTC_BOOTSTRAP=1
- bootstrap is broken in rust-1.75.0-beta with: thread 'main' panicked at src/core/builder.rs:1795:26: std::fs::read_dir(registry_src) failed with No such file or directory (os error 2)
x clean compiler/rustc_middle
errors with a stability error- Some tests are incorrectly skipped for macOS CI
- Suggestion: Cache
x --help
so that it doesn't rebuild to show help message - Unable to build with on Windows 10 with MinGW nor MSVC
- CI: Bootstrap no longer documents compiler crates
- cranelift component broken?
- howto cross-compile to get to work for powerpc e500v2
- bootstrap: cargo output is missing
- rust-1.74.0-beta fails to execute x.py install with: thread 'main' panicked at install.rs:59:17 - Failed the write access check for the current user. No such file or directory
- x.ps1 complains Python isn't installed, even though it is installed and working
- macOS: Building profiler runtime with system clang 15 gives
warning: argument unused during compilation: '-stdlib=libc++'
- bootstrap sets
-Zunstable-options
on "check" but not "build", leading to build script reruns - forcing unstable flags during bootstrap does not work
- Unable to build LLVM with clang on master/stable 1.73
- Problem with build infrastucture after 4ea90af70f2211fb07a5b722f21850ce99f06cf8 commit
- Bootstraping ignores make jobserver
- Rust fails to build cross target libraries when building on M1 Mac
- compiletest fails when rustc prints too much JSON
- Rust building and testing fails while bootstrapping it in poky
- config.toml generated by ./configure does not include tools= definition anymore
- Invalid checksum in bootstrap
python3 x.py install
attempts to install some files multiple times and leaves ".old" files- compiletest: "ignore-debug" tests are ignored even with debug-assertions-std = false
- x test --bless fails to run compiler-builtilns build script: "Failed to find tool. Is `` installed?"
- bootstrap atop nix atop non-nix (old, Linux) OS fails with inscrutable errors
- Bumping rustc version in-tree causes Fuchsia builders to fail
- error: manifest path
/public/home/litz/mysw/rust-31032ecb1550a402a726e9c244f6a716b214cc9d/src/tools/cargo/Cargo.toml
does not exist - Failed to link against LLVM libunwind when running library/std tests with
llvm-libunwind = 'in-tree'
- Source installation tries to install LLVM sources even if system LLVM used
--failed
flag forx test
- Cannot build Rust 1.71.1 with 1.71.0
- Bootstrap regression in 1.71.0
x.py fmt
counts untracked files as formatted?./x.py test
panics- x test error_index_generator triggers 'nested groups are not supported by GHA' check
- bootstrap PGO artifact copies broken
- Compiler build toolchain does not respect build-dir for cargo bash completions
./x.py dist
fails inrust 1.71.0
onlint-docs
- bootstrap.py does not support
--set
- Require (and potentially enforce) attribute-style
// issue:12345
comments in issue-related tests - bootstrap: sanity check install prefix and sysconfdir
- bootstrap: consider filtering
compiler
in thegit log
command for download-rustc - Suggest
x build library
for a custom toolchain that fails to loadcore
- bootstrap: --fail-fast doesn't work anymore
- bootstrap:
rustc-args
is only passed to compiletest, not unit tests clippy-driver +stage1
doesn't work:error while loading shared libraries: librustc_driver-2731d3486cc92946.so
- error: unused import - when building Rust on Solaris where isn't fd-lock available
- x.py setup dist says it uses src/bootstrap/defaults/config.dist.toml, which does not exist
- thread 'main' panicked at '
rustc
not found in /scratch/rustc/build/sparcv9/build/bootstrap/debug/deps, runcargo build --bins
beforecargo run
', lib.rs:415:13 - bootstrap: Make
rust
options configurable per-stage - bootstrap: Allow configuring the opt-level, not just debug vs release
- Bootstrap cannot remove host symlink on Windows if created from WSL2
- Don't parse and reserialize toml in configure.py
x doc compiler --open
no longer opens any documentation- liballoc built with
-Csplit-debuginfo=unpacked
despite not being supported on riscv32imc-unknown-none-elf - ./x.py check broken with vendored dependencies
- Vendoring broken with stable rustc
x check
checks rust-analyzer by default- Error when testing with x.py
- Invalid documentation path reference in rustfmt Cargo.toml
- windows-sys generated WinAPI bindings break ARM platforms
- Compile error with 1.70.0 - … InstrProfilingRuntime.cpp: C++ compiler not installed on this system
- the docs of rustdoc get overwritten by the bootstrap docs
- bootstrap: Rename
profile = user
toprofile = dist
- We are not running std tests for wasm
- bootstrap: make
--exclude
consistent with--skip
in libtest - bootstrap should rebuild LLVM when it changes
- ./x.py test does not explain why a #[should_panic] test failed
- building from source does not like if you
git init
the tree. rustc
fails to build for targetriscv64gc-unknown-linux-musl
- Install bootstrap fails to use configured prefix due to Tarball add_renamed_file
- components missing from beta
- Invalid
aarch64-unknown-none
target produced if theCC_aarch64_unknown_none
env var is not set - x.ps1 does not fail the build
- nightly build fails with: error: failed to download from `https://crates.io/api/v1/crates/opener/0.5.2/download
- Failed to run
x
- Bootstrap outputs some progress messages on stdout
- Test
x.py install
in CI - rustbuild: x.py install:
error: manifest path .. cargo/crates/credential/cargo-credential-1password/Cargo.toml
does not exist` x build
lives blissfully assuming llvm does not exist- symlinking is not working as expected on
x build
x test --stage 1 tests/rustdoc{,-ui}
fails when download-rustc is enabled- Allow bootstrap to use custom test runner commands
- "cannot produce dylib for
rustc_driver v0.0.0 ...
as the targetriscv64gc-unknown-linux-musl
does not support these crate types" - rustbuild: some x.py targets no longer print their dependencies being built
- Purge Python
- The LLVM we ship in
rust-dev
doesn't match the LLVM we ship in therustc
component x setup
no longer goes through all setup steps before checking if config.toml existsdownload-rustc
should support a cross-compiledhost
x test tests/run-make/translation
fails when download-rustc is enabledx test src/tools/rust-analyzer
fails when download-rustc is enabledx test src/tools/lint-docs
fails when download-rustc is enabledx test core
fails when download-rustc is enabled- Cross-compiling
rustc
with LTO enabled results in error build-pass
tests intests/ui-fulldeps
fail when cross-compiling and download-rustc is enabledrun-pass
tests intests/ui-fulldeps/
fall when download-rustc is enabled- bootstrap doesn't retry downloads that fail with a non-HTTP error
- "Alternatively, use the pre-vendored
rustc-src
dist component" is confusing - E0460 long description is too optimistic about cargo's abilities
./configure
should not silently overwrite an existing config.toml- Miri UI tests aren't run on CI (or locally)
- Add a new
download-ci-llvm = if-unchanged
option and enable it by default forprofile = codegen
- bootstrap panic generating rustc docs while cross-compiling with
x.py dist
- Confusing diagnostics for unstable features when building Rust with stable rustc
- Rename
ignore-git
toomit-git-hash
- Run tests via miri for compiler crates that use
unsafe
- LLVM submodule isn't checked out when building
riscv64gc-unknown-linux-musl
target - bootstrap: build locking doesn't work any more
- Tracking Issue for
x suggest
- Tracking Issue for removing unsafe code from bootstrap
- Pass -Werror when building LLVM in CI
- Access Denied Error when
x.py
tries to rebuild bootstrap rust.codegen-backends
interacts confusingly with paths- Rust build failure on Solaris SPARC - error[E0093]: unrecognized intrinsic function:
read_via_copy
- Allow passing the --nocapture flag to compiletest
- bootstrap: Ensure that all Steps are exercised in
--dry-run
./configure
doesn't support listscodegen-backends = ["rustc_codegen_cranelift"]
should give a better error messagex test rustc_interface --stage 0
is broken againx clean --stage 1
silently does the wrong thing- bootstrap: consider lowering / skipping compression when
x.py install
ing artifacts - bootstrap: Error: Unable to find the stamp file
- Use working debugger for debuginfo tests
- build: bootstrap panics when using the --llvm-root option
- bootstrap: document how to reproduce broken intra-doc links locally
- run-make with target wasm32-unknown-unknown has hard-to-diagnose errors
- add bootstrap tests for detecting src and out
- build: bootstrap fails when using --enable-local-rust option
- LLVM update detection only works with bors merge commit
- Tracking Issue for decoupling from github actions environment variables in bootstrap
- rust bootstrap in CI failing for 1.68.0
- rust 1.68.0 install fails with
missing llvm-tools
if using external llvm - ./configure still doesn't work on top-level keys
- Testing a cross-compiled toolchain
- Inconsistent path separators when trying to list paths using
doc --help --verbose
on mingw - compiletest overwrites PYTHONPATH
x test --stage 2 std
uses the wrong stage when download-rustc is enabledtests/ui/allocator/no_std-alloc-error-handler*
fail whendownload-rustc
is enabled- Dogfood CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse in bootstrap
- Get rid of
llvm.allow-old-toolchain
option ./configure
doesn't allow setting hashmap toml values- Rename
src/etc/vscode_settings.json
->rust_analyzer_settings.json
- Omit commented-out options in
configure.py
- Reorganize config.toml.example so that unsupported options don't come first in the list
x clean library/std
fails with an unexpected argument error- thread 'rustc' panicked at 'expected expression', compiler/rustc_expand/src/base.rs:176:18
x.py test
ignores--no-fail-fast
in some tool testsuites.- Rename
src/bootstrap/native.rs
tollvm.rs
- rustfmt breaks when
rustc
is set inconfig.toml
x dist --stage 0
does not check out submodules automatically- Improve "Building compiler artifacts" output
- support
x fmt
for sub and outside of rust directories - Run Miri on tests (ui? stdlib? vote now on your phones)
.\x fmt std
panicssrc/tools/x
doesn't work on old checkouts of the compilerx check --json-output
doesn't use JSON output for building bootstrap itself- Bootstrap no longer prints "Build completed unsuccessfully when it exits with an error
rust-docs
andrustc-docs
components conflict atshare/doc/rust/html/rustc
- x.py fails all downloads that use a tempdir with snap curl
- Create
.vscode
directory inx.py setup
- x fmt broken on NixOS since stage0 update
- bootstrap: "download-ci-llvm = true" doesn't work on x86_64-pc-windows-gnu with lld
- Suggested rust-analyzer config can't run rustfmt
- Confusing error message with
download-ci-llvm
on old checkout - x.py fix is broken
- rustbuild: x.py dist should interleave tool builds
- Confusing error message when using
--keep-stage-std
after cleaning - bootstrap: Support
--
as an alternative to--args
and--test-args
- Wording during bootstrap is inconsistent
- bootstrap:
download-ci-llvm = "if-available"
tries to download alt artifacts that don't exist on tier 2 platforms - Add support for
rust.lto=off
to bootstrap for faster dev builds rustdoc --version --verbose
no longer displays commit hashes + date since beta 1.67- "build directory locked" should say which process is holding the lock
./configure
should setprofile = "user"
by default./configure --set changelog-seen=2
doesn't work- bootstrap: Don't use panics to report user errors
- Bootstrap fails to wipe the sysroot directory on Windows if proc-macro-server is being used
- warning: unused variable 'RCSrc' [-Wunused-variable] (and several others) while executing
./x.py build && ./x.py install
- Option '' given more than once when building clippy
x.py fmt
is extremely noisy- Document tidy and bootstrap
- x.py fails with custom Git remote name
- tidy tries to run unrelated
x
binary tidy
output unorganised and unclear
222 issues were closed
- When running CI locally with src/ci/docker/run.sh bootstrap can't access git history, requires a local LLVM build
- error[E0599]: no method named
write_all
found for structFile
in the current scope - LLVMRust symbols not defined when building with -Zcross-crate-inline-threshold=always
- Mommy can't check rust-analyzer if I ask her for debuginfo
- bootstrap: fingerprinting is broken somehow
x clean compiler/rustc_middle
errors with a stability error- Suggestion: Cache
x --help
so that it doesn't rebuild to show help message - CI: Bootstrap no longer documents compiler crates
- cranelift component broken?
- bootstrap: cargo output is missing
- rust-1.74.0-beta fails to execute x.py install with: thread 'main' panicked at install.rs:59:17 - Failed the write access check for the current user. No such file or directory
- x.ps1 complains Python isn't installed, even though it is installed and working
- bootstrap sets
-Zunstable-options
on "check" but not "build", leading to build script reruns - forcing unstable flags during bootstrap does not work
- Unable to build LLVM with clang on master/stable 1.73
- Problem with build infrastucture after 4ea90af70f2211fb07a5b722f21850ce99f06cf8 commit
- compiletest fails when rustc prints too much JSON
- config.toml generated by ./configure does not include tools= definition anymore
- Invalid checksum in bootstrap
- compiletest: "ignore-debug" tests are ignored even with debug-assertions-std = false
- bootstrap atop nix atop non-nix (old, Linux) OS fails with inscrutable errors
- Bumping rustc version in-tree causes Fuchsia builders to fail
- error: manifest path
/public/home/litz/mysw/rust-31032ecb1550a402a726e9c244f6a716b214cc9d/src/tools/cargo/Cargo.toml
does not exist --failed
flag forx test
- Cannot build Rust 1.71.1 with 1.71.0
x.py fmt
counts untracked files as formatted?./x.py test
panics- x test error_index_generator triggers 'nested groups are not supported by GHA' check
- bootstrap PGO artifact copies broken
./x.py dist
fails inrust 1.71.0
onlint-docs
- bootstrap: sanity check install prefix and sysconfdir
- Suggest
x build library
for a custom toolchain that fails to loadcore
- bootstrap: --fail-fast doesn't work anymore
- bootstrap:
rustc-args
is only passed to compiletest, not unit tests - error: unused import - when building Rust on Solaris where isn't fd-lock available
- x.py setup dist says it uses src/bootstrap/defaults/config.dist.toml, which does not exist
- bootstrap: Allow configuring the opt-level, not just debug vs release
x doc compiler --open
no longer opens any documentation- ./x.py check broken with vendored dependencies
x check
checks rust-analyzer by default- Error when testing with x.py
- Invalid documentation path reference in rustfmt Cargo.toml
- windows-sys generated WinAPI bindings break ARM platforms
- Compile error with 1.70.0 - … InstrProfilingRuntime.cpp: C++ compiler not installed on this system
- the docs of rustdoc get overwritten by the bootstrap docs
- bootstrap: Rename
profile = user
toprofile = dist
- bootstrap: make
--exclude
consistent with--skip
in libtest - bootstrap should rebuild LLVM when it changes
- ./x.py test does not explain why a #[should_panic] test failed
- Install bootstrap fails to use configured prefix due to Tarball add_renamed_file
- components missing from beta
- x.ps1 does not fail the build
- nightly build fails with: error: failed to download from `https://crates.io/api/v1/crates/opener/0.5.2/download
- Failed to run
x
- Bootstrap outputs some progress messages on stdout
- rustbuild: x.py install:
error: manifest path .. cargo/crates/credential/cargo-credential-1password/Cargo.toml
does not exist` - symlinking is not working as expected on
x build
- rustbuild: some x.py targets no longer print their dependencies being built
- The LLVM we ship in
rust-dev
doesn't match the LLVM we ship in therustc
component x setup
no longer goes through all setup steps before checking if config.toml existsx test tests/run-make/translation
fails when download-rustc is enabledx test src/tools/rust-analyzer
fails when download-rustc is enabledx test src/tools/lint-docs
fails when download-rustc is enabledx test core
fails when download-rustc is enabled- Cross-compiling
rustc
with LTO enabled results in error build-pass
tests intests/ui-fulldeps
fail when cross-compiling and download-rustc is enabledrun-pass
tests intests/ui-fulldeps/
fall when download-rustc is enabled./configure
should not silently overwrite an existing config.toml- Miri UI tests aren't run on CI (or locally)
- Add a new
download-ci-llvm = if-unchanged
option and enable it by default forprofile = codegen
- Confusing diagnostics for unstable features when building Rust with stable rustc
- Rename
ignore-git
toomit-git-hash
- LLVM submodule isn't checked out when building
riscv64gc-unknown-linux-musl
target - bootstrap: build locking doesn't work any more
rust.codegen-backends
interacts confusingly with paths- Rust build failure on Solaris SPARC - error[E0093]: unrecognized intrinsic function:
read_via_copy
- Allow passing the --nocapture flag to compiletest
./configure
doesn't support listscodegen-backends = ["rustc_codegen_cranelift"]
should give a better error messagex test rustc_interface --stage 0
is broken againx clean --stage 1
silently does the wrong thing- bootstrap: Error: Unable to find the stamp file
- build: bootstrap panics when using the --llvm-root option
- build: bootstrap fails when using --enable-local-rust option
- rust bootstrap in CI failing for 1.68.0
- rust 1.68.0 install fails with
missing llvm-tools
if using external llvm - ./configure still doesn't work on top-level keys
- compiletest overwrites PYTHONPATH
x test --stage 2 std
uses the wrong stage when download-rustc is enabledtests/ui/allocator/no_std-alloc-error-handler*
fail whendownload-rustc
is enabled- Dogfood CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse in bootstrap
- Get rid of
llvm.allow-old-toolchain
option ./configure
doesn't allow setting hashmap toml values- Rename
src/etc/vscode_settings.json
->rust_analyzer_settings.json
- Omit commented-out options in
configure.py
x clean library/std
fails with an unexpected argument error- thread 'rustc' panicked at 'expected expression', compiler/rustc_expand/src/base.rs:176:18
x.py test
ignores--no-fail-fast
in some tool testsuites.- Rename
src/bootstrap/native.rs
tollvm.rs
- rustfmt breaks when
rustc
is set inconfig.toml
x dist --stage 0
does not check out submodules automatically- Improve "Building compiler artifacts" output
- support
x fmt
for sub and outside of rust directories .\x fmt std
panicssrc/tools/x
doesn't work on old checkouts of the compilerx check --json-output
doesn't use JSON output for building bootstrap itself- Bootstrap no longer prints "Build completed unsuccessfully when it exits with an error
rust-docs
andrustc-docs
components conflict atshare/doc/rust/html/rustc
- x.py fails all downloads that use a tempdir with snap curl
- Create
.vscode
directory inx.py setup
- x fmt broken on NixOS since stage0 update
- bootstrap: "download-ci-llvm = true" doesn't work on x86_64-pc-windows-gnu with lld
- Suggested rust-analyzer config can't run rustfmt
- Confusing error message with
download-ci-llvm
on old checkout - x.py fix is broken
- Confusing error message when using
--keep-stage-std
after cleaning - bootstrap: Support
--
as an alternative to--args
and--test-args
- Wording during bootstrap is inconsistent
- bootstrap:
download-ci-llvm = "if-available"
tries to download alt artifacts that don't exist on tier 2 platforms - Add support for
rust.lto=off
to bootstrap for faster dev builds rustdoc --version --verbose
no longer displays commit hashes + date since beta 1.67- "build directory locked" should say which process is holding the lock
./configure
should setprofile = "user"
by default./configure --set changelog-seen=2
doesn't work- Bootstrap fails to wipe the sysroot directory on Windows if proc-macro-server is being used
- warning: unused variable 'RCSrc' [-Wunused-variable] (and several others) while executing
./x.py build && ./x.py install
- Option '' given more than once when building clippy
x.py fmt
is extremely noisy- Document tidy and bootstrap
- x.py fails with custom Git remote name
- tidy tries to run unrelated
x
binary - Tidy should detect unreachable modules in
compiler/
- Enable ELIDED_LIFETIMES_IN_PATHS lint in doctests for the compiler/libstd
- bootstrap.py doesn't work with vendoring and CARGO_HOME environment variable
- Test that the compiler/library builds with -Zmir-opt-level=3 -Zvalidate-mir
- bootstrap should not use
rustc --version
to detect the build triple on on Mac Apple Silicon M1 arm64 - Unify test code in bootstrap
- x setup generates config.toml into root even when run outside of root.
- rust 1.64 now uses fd-lock->rustix->flock() for bootstraping where flock() is not available on Solaris
- Simplify --exclude syntax and make it more useful
- Make the status messages emitted by bootstrap more clear
- Merge commits break LLVM CI download
- Copy stage0 binaries into stage0-sysroot
x.py
submodule handling breaks when tracking upstream asupstream
- rust-analyzer doesn't work on bootstrap anymore
- Build fails with
-Csplit-debuginfo
is unstable on this platform - Building with lld and download-ci-llvm
x build src/tools/miri
doesn't install miri as part of the built toolchain- Building and testing rustc on *BSD fails on -C split-debuginfo
- rustc build broken after #95906
x setup -h -v
should work- Fix
x.py clippy
to be less janky - rustc-src target does not include vendor/ when re-building rustc-src
- multiple definition of `llvm:: cl ::Option::anchor()' when running x.py build
- bootstrap: RUSTFLAGS_BOOTSTRAP does not affect building bootstrap
- Consolidate bootstrap documentation
x.py
panics when trying to build "stage3" compiler- ICE generated when attempting to bootstrap on x86_64-unknown-linux-gnu with a local libc checkout
- Building errors on macos 10.13.6
- ICE: "no entry found for key" while building stage0 tools
- Problem linking libunwind when compiling clippy
- Native bootstrap for RISC-V on Gentoo Linux (failure)
- Follow-up work for
download-rustc
- Unable to build with cmake on Windows: missing: Python3_EXECUTABLE Interpreter
cargo fmt
and other tools don't work for a linked toolchain.- Unresolved LLVM symbols when linking rustc_driver.
./x.py fmt
uses incorrect rustfmt with download-ci-llvm=true and custom rustc (not stage0/beta)- Add a new cygwin target
- Remove
missing_tools
config - unable to run
./x.py check
- ./x.py fmt is not supported on this channel when not using stage0 toolchain rustc
- x.py breaks submodule state when run in a pre-commit hook from a worktree
- Undefined reference to _Unwind_Resume while building rust
- x.py: Add color to diffs
- bootstrap:
--warnings warn
doesn't apply to bootstrap itself - ICE: stage2 builds of rustc itself see metadata serialized by a different rustc
- rustbuild: is llvm always built with AVR backend?
- missing-tools broken when tools are explicitly selected
- "x.py dist" build fails in llvm when DESTDIR is set
- 1.43.0 x.py "dist" build fails in LlvmTools build
./x.py test <test_path> --target foo
does not work- compile requires zlib.h in default location
- Debug build of libLLVM.so is enormous
- Make librustc_error_code dynamically linked so it doesn't rebuild everything every time
- bootstrap/rustbuild:
--test-args
has no effect for cargo tests - Running target llvm-config on host
incremental = true
as the default in config.toml?- FCP for toolstate changes
- rust-1.38: bootstrap linker=clang: error: failed to run custom build command for
ryu v1.0.0
// Caused by: process didn't exit successfully:.../work/rustc-1.38.0-src/build/bootstrap/debug/build/ryu-deb3460cf2bb47d1/build-script-build
(signal: 11, SIGSEGV [...] - Default sysconfdir
- rust-gdbgui script is not installed
- tidy should skip files based on mtime.
- Get
x.py test
output in human-readable format - Building libstd without any features does not work
- "ld: archive has no table of contents file" when compiling rustc
- rust 1.28.0 build fails - test failure
- x.py: config.toml's codegen-units overridden by RUSTFLAGS
./x.py test
deletesrustc_private
artifacts from the sysroot- Bootstrap deletes the sysroot directory when alternating between check and build, breaking --keep-stage
- configure: not canonicalizing relative directories
- Rustbuild: Building stage0 with system installed rust with rustlib in /usr/lib64 fails
- ui test failures (segfaults and nested panics) since libbacktrace update
- Build fails if "make" is not gnu make
- Print message that clarifies some components are allowed to fail during build.
- lightweight submodule landing
- Build released compiler artifacts as optimized as possible
- swallowed output line visible only upon second compile invocation
- configure: Give a better error when the local rustc version is too old
- bootstrap fails on NetBSD
x.py build
fails to find bootstrap if global cargo config has target set- [rustbuild] should not rollback the submodules most of the time
- Setting cxx in cargo.toml doesn't pass through to build.rs scripts such as in rustc_llvm
- tidy doesn't play nicely with autocrlf
- fakeroot invalidates build cache
- ppc64le: Fails to build 1.14.0 with lots of E0554 and a Segmentation Fault on Ubuntu
- TAGS targets (for emacs and vi integration) disappeared from Makefile
- rustbuild: copy libs for stage1 from stage0 when using incremental and enable-local-rust
- [rustbuild] test src/serialize is no-op if target is provided
- Add ability to pass CFLAGS and LIBS into bootstrap toml
- Rustc version does not match manifest version
- [rustbuild] cross-compiling does not pass target through to the C compiler
- rustdoc could use some LD_LIBRARY_PATH handling cleanup
896 pull requests were opened
- annotate-snippets: update to 0.10
- Handle non-existent/empty .cargo/registry/src and empty env vars
- Simplify bootstrap
--check-cfg
arguments - [perf experiment] Enable overflow checks for not-std
- bootstrap: Move -Clto= setting from Rustc::run to rustc_cargo
- solaris support on bootstrap lock
- utilize the unused
llvm-tools
option - Remove usage of deprecated
missing-tools
bootstrap flag - Update sysinfo
- suppress change-tracker warnings in CI containers
- fix
./configure --set change-id
- bootstrap: use same make flags with rustdoc
- [debugging] do not merge
- remove dead inferred outlives testing code
- Fix doc typos
- Update cargo
- Bump stage0 to 1.76 beta
- Add arm64ec-pc-windows-msvc target
- Switch from using
//~ERROR
annotations with--error-format
toerror-pattern
- Update sysinfo version to 0.30.0
- [DO NOT MERGE] experiment CI with doctest-xcompile
- don't build
rust-analyzer-proc-macro-srv
on def config - Comment out
change-id
inconfig.example.toml
- Separate MIR lints from validation
- Rearrange
config.codegen.toml
to matchconfig.compiler.toml
- [WIP] Run Miri and mir-opt tests without a target linker
- Allow coverage tests to ignore test modes, and to enable color in coverage reports
- remove
hex
dependency in bootstrap - [perf experiment] (crudely) implement MIR-only rlibs
- force current stage when
--stage
is expilicitly used - Delegation implementation: step 1
- fix
x clean
for cross-compiled artifacts - update
measureme
to 10.1.2 to deduplicateparking_lot
-Ztrait-solver=next
to-Znext-solver
- Update to LLVM 17.0.6
- Fix LLD thread flags in bootstrap on Windows
- merge spelling
- Unbreak non-unix non-windows bootstrap
- Set the
in-rust-tree
feature for all rust-analyzer{-proc-macro-srv} steps - [DO NOT MERGE] Introduce mechanism to write compiler metrics to disk
- Make exhaustiveness usable outside of rustc
- Subtree update of
rust-analyzer
- Revert using MCP510 in bootstrap
- fix --dry-run when the change-id warning is printed
- use
&
instead of start-process in x.ps1 - Range experiment
- use bold magenta instead of bold white for highlighting
- Remove extra check cfg handled by libc directly
- Netbsd10 update
- Extend tidy alphabetical checking to
tests/
. - speed up
x install
by skipping archiving and compression - tests: add sanity-check assembly test for every target
- Remove unused bootstrap config option
- Add support for shell argfiles
- add comment about keeping flags in sync between bootstrap.py and bootstrap.rs
- dump bootstrap shims
- bootstrap(builder.rs): Don't explicitly warn against
semicolon_in_expressions_from_macros
- Fix
x
not to quit afterx
printssettings.json
- use c literals in compiler and library
- update hashbrown
- move packed-struct tests into packed/ folder
- better build locks for bootstrap
- replace
once_cell::sync::OnceCell
with stdOnceLock
- Enable address sanitizer for MSVC targets using INFERASANLIBS linker flag
- Move some methods from
tcx.hir()
totcx
- Add unstable
-Zdefault-hidden-visibility
cmdline flag forrustc
. - Add -Zunpretty=stable-mir output test
- Subtree update of
rust-analyzer
- Fix misc printing issues in
emit=stable_mir
- bootstrap: Memoize the LLVM rebuild hash to avoid very slow
x check
- do not generate llvm stamp when invoked from outside of tty
- compile-time evaluation: detect writes through immutable pointers
- give dev-friendly error message for incorrect config profiles
- skip {tidy,compiletest,rustdoc-gui} based tests for
DocTests::Only
- Draft of branch coverage support
- docs: publish nightly doc for
rustfix
- Merge
unused_tuple_struct_fields
intodead_code
- Update cargo
- Make traits / trait methods detected by the dead code lint
- Replace
option.map(cond) == Some(true)
withoption.is_some_and(cond)
- Fix build on Solaris after #117815.
- general improvements/fixes on bootstrap
- Recompile LLVM when it changes in the git sources
- Implement RFC 3127 sysroot path handling changes
- utilize stdlib debug assertion status in compiletest
- Remove i686-apple-darwin cross-testing
- Remove
feature
from the list of well known check-cfg name - allow bypassing the build directory lock
- Explicitly unset $CARGO for compiletest
- perform sanity checks before initiating cross-compilation in
MirOpt
- [beta] backport & bootstrap bump
- Add thinlto support to codegen, assembly and coverage tests
- Expand Miri's BorTag GC to a Provenance GC
- Remove unnecessary -fembed-bitcode usage now that it's deprecated
- Enable Rust to use the EHCont security feature of Windows
- bootstrap: only show PGO warnings when verbose
- [perf] test size reduction from compressing libstd's debuginfo
- add safe compilation options
- riscv32im-risc0-zkvm-elf: add target
- Update the minimum external LLVM to 16.
- On borrow return type, suggest borrowing from arg or owned return type
- Fix Python interpreter issues in configure and
- doc: add release notes to standalone doc bundle
- Bootstrap bump
- Add emulated TLS support
- Cranelift isn't available on non-nightly channels
- Set
CFG_OMIT_GIT_HASH=1
during builds whenomit-git-hash
is enabled - New attribute macros format for diagnostic structs without fluent slug
- bootstrap: simplify setting unstable-options for tools
- [beta] 1.75.0 promotion
- Fix bootstrap issue with git on MSYS + Experimental CI testing
- improve bootstrap change-tracking system
- deprecate
if-available
value ofdownload-ci-llvm
- bootstrap: please document why a config change requires migration
- Update cargo
- Add two tests
- Fix tidy tripping up on untracked files with special characters in their name
- Build Fuchsia in CI
- enable unstable feature on
x clean [PATH]
- bump few ICU4X leftover deps
- Add -Zuse-sync-unwind
- Restore rustc shim error message
- speed up
x clean
- check config file before prompts on
x setup
- Subtree update of
rust-analyzer
- coverage: Rename the
run-coverage
test mode tocoverage-run
- crater: test enabling MCP510
- Stabilize THIR unsafeck
- Document clippy_config in nightly-rustc docs
- bump some deps
- [beta] backports
- Update ICU4X
- Prevent mixing deprecated check-cfg syntax with new one
- x clippy
- improve compiler&tool documenting and re-enable cranelift on CI
- Update cargo
- Disallow reference to
static mut
and addingstatic_mut_ref
lint - clone less
- Revert "Auto merge of #117328 - lqd:cranelift-rocket, r=Mark-Simulacrum"
- Revert "bootstrap: do not purge docs on CI environment"
- bootstrap/setup: create hooks directory if non-existing
- Remove support for alias
-Z symbol-mangling-version
- coverage: Unify
tests/coverage-map
andtests/run-coverage
intotests/coverage
- bootstrap: do not purge docs on CI environment
- Embedded linker: Alternative approach to the current ptx-linker
- enable parallel rustc front end in nightly builds
- Use derivative for
Hash
inrustc_type_ir
- Use derivative for
PartialOrd
/Ord
inrustc_type_ir
- [dont commit] Use derivative for
PartialEq
/Eq
inrustc_type_ir
- Use derivative for
Clone
/PartialOrd
/Ord
/Hash
inrustc_type_ir
- improve and fix
x install
- Add support for mipsel-unknown-netbsd, 32-bit LE mips.
- Old master
- coverage: Harmonize the
coverage-map
andrun-coverage
test directories - Remove asmjs
- pass
CODEGEN_BACKENDS
to docker - change default output mode of
BootstrapCommand
- Run part of
rustc_codegen_gcc
's tests in CI - fix miri target information for Test step
- handle the case when the change-id isn't found
- Thir unsafeck fixes
- Avoid unnecessary builds/rebuilds of
rust-demangler
- [DO NOT COMMIT] Use derivative to simplify impls in
rustc_type_ir
- compiletest: Display compilation errors in mir-opt tests
- tidy: add unit tests for alphabetical checks
- Allow configuring the parent GitHub repository
- Revert "Improve android-ndk property interface"
- remove change-id assertion in bootstrap test
- Use
unwinding
crate for unwinding on Xous platform - x.ps1: remove the check for Python from Windows Store
- Clean up
compiler/rustc*/Cargo.toml
- [
RFC 3086
] Attempt to try to resolve blocking concerns - add bootstrap flag
--skip-stage0-validation
- coverage: Add UI tests for values accepted by
-Cinstrument-coverage
- Enable cg_clif tests for riscv64gc
- [beta] backports and stage0 bump
- Improve android-ndk property interface
- Add comment
- Prepare the
bootstrap
tool for the new check-cfg syntax - Use shell parsing for response files
- bootstrap: bump fd-lock, clap and windows
- fix(bootstrap) info message show correct path now
- Add a new
download-ci-llvm = if-unchanged
option and enable it by default forprofile = codegen
- Add FileCheck annotations to mir-opt tests.
- Normalize alloc-id in tests.
- Make x capable of resolving symlinks
- bootstrap: Add in-code hint about MAGIC_EXTRA_RUSTFLAGS
- Allow bootstrap cache path to be set by environment variable
- demo of moving std::io::Error to core
- remove outdated bootstrap FIXME
- x.py zsh completion support
- optimize file read in
Config::verify
- Reorganize
bootstrap/Cargo.toml
- Update x.ps1
- Centralize command running in boostrap (part one)
- add
SAFETY
block on the usage of unsafegetuid
- Sync rustc_codegen_cranelift
- Cleanup
rustc_features
some more - Add RUSTFLAGS_BOOTSTRAP to RUSTFLAGS for bootstrap compilation
- linker: Remove
-Zgcc-ld
option - Miri subtree update
- Use tidy to enforce alphabetical dependency ordering
- Replace unsafe getuid with nix impl of Uid
- Pass flags to
rustdoc
shim without env. vars - Pass rustc shim flags using environment variable
- vendoring in tarball sources
- Bump bootstrap compiler to just-released beta
- CFI: Fix (3) of core and std have explict CFI violations
- bootstrap: make copying linker binaries conditional
- [beta] promote release
- Optimize
librustc_driver.so
with BOLT - ensure the parent path's existence on
x install
- Stop mentioning internal lang items in no_std binary errors
- Turn
cfg_match
into a builtin - Initiate the inner usage of
cfg_match
(Compiler) - warn if source is not either a git clone or a dist tarball
- Generalize LLD usage in bootstrap
- bootstrap: copy self-contained linking components to
stage0-sysroot
- More fixes for running the test suite on a bare metal target
- Apply structured suggestion that allows test to work since 1.64
- Fix misuses of a vs an
- bootstrap: do not invoke global
lld
binary - reorganize/refactor bootstrap codebase
- Update cargo
- WIP: bootstrap: remove use-lld
- quote argument to sh -n
- :arrow_up:
rust-analyzer
- ref(bootstrap.py): add
eprint
function - add sanity checks for user write access on
x install
- Pass
-jN
from Make toBOOTSTRAP_ARGS
- Open the FileEncoder file for reading and writing
- Update crates for better MIPS R6 support
- Add GNU/Hurd target
- Don't pass
-stdlib=libc++
when building C files on macOS - Fix
ui-fulldeps --stage=1
with-Zignore-directory-in-diagnostics-source-blocks
- target tier policy compliance
- dependencies: reduce the amount of crates pulling in atty
- fix mismatched symbols
- Enz update
- rustdoc: show crate name beside smaller logo
- compiletest: Don't swallow some error messages.
- Split out the stable part of smir into its own crate to prevent accidental usage of forever unstable things
- bootstrap major change detection implementation
- Remap Cargo dependencies to /rust/deps
- Avoid blessing cargo deps's source code in ui tests
- Add check_unused_messages in tidy
- update rust_analyzer_settings.json
- rustdoc: merge theme css into rustdoc.css
- fix r-a rustfmt command
- Make AIX known by bootstrap
- Make compiletest output truncation less disruptive
- compiletest: load supported sanitizers from target spec
- Add
std::hash::{DefaultHasher, RandomState}
exports (needs FCP) - Enable ASAN/LSAN/TSAN for *-apple-ios-macabi
- Make create_def a side effect instead of marking the entire query as always red
- Fix log formatting in bootstrap
- issue has since been fixed
- support
{disable,enable}-patch-binaries-for-nix
in configure.py - Pr 96475 ci test
- update
build.extended
comments inconfig.example.toml
- Add arm64e-apple-ios & arm64e-apple-darwin targets
- optimize and cleanup bootstrap source
target_os = "custom"
: selecting/swapping platform-specific parts of the libstd at runtime- get rid of duplicate primitive_docs
- also skip musl checks when BOOTSTRAP_SKIP_TARGET_SANITY is set
- optimize bootstrap dep tree
- bootstrap/format: remove unnecessary paths.push
- bootstrap: use git merge-base for LLVM CI download logic
- Wasix ci
- avoid stdout redirection on
curl
executions - [TEST] Enable the parallel compiler with 8 threads
- Remove -Zfuel.
- tell people what to do when removing an error code
- Run tidy license checker on more workspaces
- replace outdated github username 'ozkanonur'
- Implement
PROBLEMATIC_CONSTS
generalization - test for parallel compiler by default
- added support for GNU/Hurd
- [beta] backport and stage0 bump
- don't use force-unstable-if-unmarked with x test in standard library doctests
- tests: add test for #67992
- Move Coverage Regions / Expressions to a side table
- Move some ui tests to subdirectories
- lto: use the
object
crate to load bitcode sections - Generalize Coverage Expression simplification
- tests: re-enable pretty-std-collections on macOS
- Limit
-C strip
on MSVC - Detect and report nix shell
- compile rust-anaylzer with
x check
if it's enabled - Skip ExpandYamlAnchors when the config is missing
- Disable bootstrap rustc version check
- Update bootstrap compiler to 1.73.0 beta
- Always use
os-release
rather than/lib
to detectNixOS
(bootstrap) - Fix Step Skipping Caused by Using the
--exclude
Option - bootstrap/miri: respect config_locked_deps
- Download pre-compiled bootstrap from CI
- Add a new CoverageKind::Branch to MIR
- when terminating during unwinding, show the reason why
- Fix standard library not compiling with dependency cc v1.0.80+
- Warn on elided lifetimes in associated constants (
ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT
) - Dummy PR to test coverage test changes in CI
- coverage: Anonymize line numbers in
run-coverage
test snapshots - coverage: Explicitly test the coverage maps produced by codegen/LLVM
- Enable constant folding across crates (weak linkage + comdat)
- Adds a
--failed
flag tox test
- [beta] backport
- Keep printing extra comments in MIR dumps
- interpret: remove incomplete protection against invalid where clauses
- Prevent constant rebuilds of
rustc-main
(and thus everything else) - Add
f16
andf128
- remove blanket-Freeze for PhantomData
- llvm: use -Bsymbolic-functions with -fno-semantic-interposition
- bump schannel, miow to drop windows-sys 0.42
- Print tidy command with bless tidy check failure
- Fix ui-fulldeps missing the
internal_features
lint on stage 0 - copy the correct version of LLVM into the stage0 sysroot
- bootstrap: config: fix version comparison bug
- Improve spans for indexing expressions
- compiletest: Handle non-utf8 paths (fix FIXME)
- Skip checking of
rustc_codegen_gcc
with vendoring enabled - x.py print more detailed format files and untracked files count
- Revert #113588 to fix bootstrap timings
- get auto traits for parallel rustc
- Strip unexpected debuginfo from
libLLVM.so
andlibrustc_driver.so
when not requesting any debuginfo - Update x64 Linux host compiler to LLVM 17
- Prepare Rust 1.71.1
- better error handling for
rust.codegen-backends
on deserialization - Allow stripping debuginfo from LLVM's shared library
- Compute variances for lazy type aliases
- Check lazy type aliases for well-formedness
- Add tidy check for stray rustfix files
- tidy watcher
- Update lexer emoji diagnostics to Unicode 15.0
- Check if we can strip debuginfo prior to bolting libLLVM.so
- Update the minimum external LLVM to 15
- Rename tests/ui/issues/issue-100605.rs to ../type/option-ref-advice.rs
- Change LLVM BOLT flags
- Revert "add tidy check that forbids issue ui test filenames"
- clean stage-specific artifacts using
x clean --stage
- Put inline functions in only one CGU
- Lots of tiny incremental simplifications of
EmitterWriter
internals - Dont pass
-Zwrite-long-types-to-disk=no
forui-fulldeps --stage=1
- Add UI test for issue #35144
- compiletest: remove ci-specific remap-path-prefix
- Allow using external builds of the compiler-rt profile lib
- bootstrap: inline format!() args (0)
- Add help for crate arg when crate name is invalid
- Split some functions with many arguments into builder pattern functions
- Update to LLVM 17
- typos
- Update cargo
- fix(bootstrap): rename exclude flag to skip 🐛
- Define CMAKE_SYSTEM_NAME on a cross build targeting DragonFly.
- Fix test panics for submodule of book is not updated
- Sync rustc_codegen_cranelift
- Fix rustc-args passing issue in bootstrap
- rust-installer: Use env(1) in the shebang.
- [beta] backport
- etc: add
RUSTC_BOOTSTRAP
to rust-analyzer config - new unstable option: -Zwrite-long-types-to-disk
- Add RUSTC_PROGRESS env var to show the current queries and their arguments
- Replace in-tree
rustc_apfloat
with the new version of the crate - Experiment: Try making all compiler-builtins intrinsics weak symbols
- Tests crash from inappropriate use of common linkage
- Avoid another gha group nesting
- Add
if-identical
mode fordownload-ci-llvm
- Respect
prefix
whensysconfdir
isn't set in config.toml - Remove unused
bootstrap::util::CiEnv
enum - Report errors in jobserver inherited through environment variables
- Move MinGW linker dist option to proper section
- Fix rpath for libdir is specified
- Fix compiletest windows path finding with spaces
- Update Clippy
- remove outdated
FIXME
s in bootstrap internals - Double check that hidden types match the expected hidden type
- add a csky-unknown-linux-gnuabiv2 target
- misc bootstrap cleanups
- bootstrap: Clean up try_run
- Make
nodejs
control the default for RustdocJs tests instead of a hard-off switch - Bump bootstrap to 1.72 beta
- Fix bootstrap.py uname error
- Remap paths for ~/.cargo in UI tests
- Test simd-wide-sum for codegen error
- Update cargo
- Move BOLT from
bootstrap
toopt-dist
- refactor(rustc_middle): Substs -> GenericArg
- bootstrap: use git merge-base for LLVM CI download logic
- add tidy check that forbids issue-XXXX test filenames
- Revert "fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy …
- bootstrap: Don't break on
uname -p
!=unknown
- bootstrap: Don't print "Skipping" twice
- Rollup of 0 pull requests
- Remove the library/term exception in tidy's pal checker code
- Implement generic const items
- bootstrap/libtest: print test name eagerly on failure even with
verbose-tests=false
/--quiet
- Add even more GHA log groups
- Add CL and CMD into to pdb debug info
- add aarch64-unknown-teeos target
- add aarch64-teeos-target
- add aarch64-teeos-target
- Reimplement C-str literals
- Fail the build if clippy tests don't pass
- tidy: remove filtering for wasm32 deps, as this don't work
- Try to improve rustdoc performance by reducing the number of allocations of pulldown-cmark
- Disable building
rustc
with (Thin)LTO on Windows - reduce deps for windows-msvc targets for backtrace
- Add
x86_64-unikraft-linux-musl
target - (do not merge) test chasing down debuginfo failures for rc/arc allocator
- [perf] test MCP510
- various download-rustc fixes
- Fix submodule handling when the current branch is named after a tag
- Add support for NetBSD/riscv64 aka. riscv64gc-unknown-netbsd.
- Implement selection for
Unsize
for better coercion behavior - Copy stage0
rustc
binaries tostage0-sysroot
- Revert the lexing of
c"…"
string literals - Update debuginfo test runner to provide more useful output
- Remove chalk support from the compiler
- Unite bless environment variables under
RUST_BLESS
- Enable type privacy lints in rustc
- Update rustix
- link to PERMITTED_DEPENDENCIES in tidy error
- Use String or Int to set the opt level
- Update compiler builtins
- Update Clippy
- fix compiletest crash
- Make Rust Analyzer tests faster by compiling less code
- Don't pass --test-args to
python -m unitest
- Fix try builds on the msvc builder
- Don't fail early if
try_run
returns an error - Fix loading target specs in compiletest not working with custom targets
- compiletest: Only trim the end of process output
- Set
channel = nightly
in dist profile - rustdoc: Add lint
redundant_explicit_links
- Revert behaviour change for bootstrap doc command
- fix(resolve): update the ambiguity glob binding as warning recursively
- bootstrap: rename 'user' profile to 'dist'
- Add x86_64-unknown-linux-ohos target
- Fix build on Solaris where fd-lock cannot be used.
- cargo update
- Switch some more Steps to
builder.msg
- [wip] ship rustc debuginfo on linux
- Introduce
run-make
V2 infrastructure, arun_make_support
library and port over 2 tests as example - rust-installer & rls: remove exclusion from rustfmt & tidy
- Move some docs from the README to the dev-guide
- Fix old python deprecation check in x.py
- bootstrap: Backup
settings.json
to the correct filename - bootstrap: update defaults for
compiler
andlibrary
aliases - [DONT MERGE], only for windows perf log
- Fix rustdoc gui tester
- Enable zlib in LLVM on aarch64-apple-darwin
- WASI threads, implementation of wasm32-wasi-preview1-threads target
- Make tidy not traverse untracked directories
- display PID of process holding lock
- Add more context to
quit_if_file_exists
inconfigure.py
& delete config.toml in CI hir
: AddBecome
expression kind (explicit tail calls experiment)- Revert 'Rename profile=user to profile=dist'
- rust-installer: migrate to clap 4.2, change to 2021 edition and fix few clippy lints
- Update cargo
- Add --llvm-targets option to bootstrap configure script
- bootstrap: Add and use -Z absolute-file-paths
- llvm ffi: Expose
CallInst->setTailCallKind
- Move tests
- Use RustOptimize to set optimize
- Don't try to auto-bless 32-bit
mir-opt
tests on ARM Mac hosts - bootstrap: check for dry run when copying env vars for msvc
- Run part of cg_clif's tests in CI
- Add simple markdown formatting to
rustc --explain
output - Sync rustc_codegen_cranelift
- Test
x.ps1
inmsvc
CI job - cleanup azure leftovers
- Implement explicit tail calls
- CI: merge
mingw
test CI jobs - CI: merge
msvc
test CI jobs - Update cargo
- Download pre-compiled bootstrap from CI
- rustdoc-gui: allow running on Windows
- implement stdout streaming in
render_tests::Renderer
- bootstrap: Don't override
debuginfo-level = 1
to meanline-tables-only
- Dummy PR to test coverage test changes in CI
- Fix python linting errors
- Update documentation for
tools
defaults - Add deprecation warning to python versions <3.6 in x.py
- Add support for tidy linting via external tools for non-rust files
- Give more helpful progress messages in
Assemble
- Document rustc_driver by default
- Make compiletest aware of targets without dynamic linking
- Allow overwriting the sysroot compile flag via --rustc-args
- Add support for targets without unwinding in
mir-opt
, and improve--bless
for it - download-rustc: Fix
x test core
on MacOS - add mips64r6 and mips32r6 as target_arch values
- [experiment] Use new solver in MIR validator subtyping checks
- Remove comments from mir-opt MIR dumps
- Fix rust-analyzer proc macro server
- bootstrap: remove dependency
is-terminal
- Convert
run-make/coverage-reports
tests to use a custom compiletest mode - Don't double-print status messages in GHA
- bootstrap: Disallow
--exclude test::std
- Fix the tests-listing-format-json test on Windows
- Disable RustAnalyzer check by default, run Rustfmt check before
- Test the cargo args generated by bootstrap.py
- Don't require the output from libtest to be valid UTF-8
- Build
rustc
with 1CGU onx86_64-pc-windows-msvc
- Don't compile rustc to self-test compiletest
- rust-lld: add rpath entry to the correct
lib
folder - [beta] backports + stage0 bump
- Port PGO/LTO/BOLT optimized build pipeline to Rust
- refactor
tool_doc!
- Make sure the build.rustc version is either the same or 1 apart (revised)
- Update dependencies with reported vulnerabilities
- pass
--lib
tox doc
- Erase regions even if normalization fails in writeback (in new solver)
- Print the full arguments passed to
./configure
in CI - [experiment] Deny noop_method_call
- Fix the progress message for
x doc rustc
- Use
download-rustc = "if-unchanged"
inx86_64-gnu
- Add
-Ztrait-solver=next-coherence
- Update cargo
- Don't print unsupported split-debuginfo modes with
-Zunstable-options
- Bootstrap update to 1.71 beta
- Add
--warnings warn
flag tox.py
- enhancements on build_helper utilization and rustdoc-gui-test
- bootstrap: Rename profile = user to profile = dist
- Patch-1
- Group rfcs tests
- Move tests from
ui/discrim
dir - [do not merge] CI experiments
- Bump to 1.72.0
- Avoid one
rustc
rebuild in the optimized build pipeline - Add support for LLVM SafeStack
- Add other workspaces to
linkedProjects
in rust_analyzer_settings - deps: bump crates
- Revert "Enable incremental independent of stage"
- Respect CARGOFLAGS in bootstrap.py
- Use a single codegen unit for fully optimized builds.
- Make errors from
x doc
less verbose - Generate docs for bootstrap itself
- Stop normalizing so many different prefixes
- bootstrap: Make
clean
respectdry-run
- bootstrap: Various Step refactors
- Include test suite metadata in the build metrics
- [experiment] Enable debug-logging by default
- make
noop_method_call
warn by default - refactor and cleanup the leak check, add it to new solver
- Ensure Fluent messages are in alphabetical order
- Render test messages from bootstrap
- MIR: opt-in normalization of
BasicBlock
andLocal
numbering - Unset MIRI_BLESS for mir-opt-level 4 miri tests
- Use CS PGO for LLVM
- Make
x test --dry-run
less verbose - Diagnostic namespace
- Fix linkage for large binaries on mips64 platforms
- add
--remote-time
flag to curl for bootstrap - Read beta version from the version file if building from a source tarball
- Print a backtrace in const eval if interrupted
- bootstrap: (half) merge cp_r and cp_filtered
- use git ls-tree --format instead of manually carving hashes
- Bump
cc
forbootstrap
- Fix typo in bootstrap command description
- Reduce the default number of CGUs for incremental.
- Refactor pre-getopts command line argument handling
- use c literals in compiler and library
- Fix dependency tracking for debugger visualizers
- very minor cleanups
- Implement proposed API for
proc_macro_span
- Override config.toml options from command line
- Improve startup time of bootstrap
- Include better context for "already exists" error in compiletest
- Move tests
- Don't clean bootstrap by default
- Make sure the build.rustc version is either the same or 1 apart
- update Miri
- Run tests on PGO/LTO/BOLT optimized dist artifacts
- Get current target config from
--print=cfg
- update Miri
- Bump object and thorin-dwp
- add lib module to
src/tool/compiletest
- bump windows crate 0.46 -> 0.48
- Generate shell completions for bootstrap with Clap
- Fix linking Mac Catalyst by including LC_BUILD_VERSION in object files
- Add a tidy check to find unexpected files in UI tests, and clean up the results
- Prevent using the default
cc
when that'd result in a broken build - new tool
rustdoc-gui-test
- Only depend on CFG_VERSION in rustc_interface
- Load only the crate header for
locator::crate_matches
- Add support for NetBSD/aarch64-be (big-endian arm64).
- Give a more helpful error when running the rustc shim directly
- [beta] backport
- Issue 109502 follow up, remove unnecessary Vec::new() from compile_test()
- support set
rpath
option for each target independently - Use
free-args
consistently in bootstrap - Add CI step to prevent new untranslatable diagnostics being added
- bootstrap: add .gitmodules to the sources
- bootstrap: add llvm-project/runtimes to the sources
- Fix instrument-coverage tests by using Python to sort instantiation groups
- Update serde in workspace and non-synced dependencies
- check bootstrap scripts syntax
- Return error code from x.ps1
- Suggest struct when we get colon in fileds in enum
- diagnostics: exclude indirect private deps from trait impl suggest
- remove pointless
FIXME
inbootstrap::download
- Make x.py work again in most (all?) cases
- Wrap all of
x.py
inif __name__ == '__main__':
to avoid problems withmultiprocessing
- Move some tests
- Output some bootstrap messages on stderr
- bootstrap: Fix compile error: unused-mut
- Sync rustc_codegen_cranelift
- windows: kill rust-analyzer-proc-macro-srv before deleting stage0 directory
- tidy: remove ENTRY_LIMIT maximum checking and set it to 900
- Promote loongarch64-unknown-linux-gnu to Tier 2 with host tools
- Skip
rustc
version detection on macOS - fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy error
- [beta] backport
- Rustc shim is now a wrapper
- compiletest: add bpf-linker assembly support
- compiletest: emit assembly-output header in error
- [WIP] Try packing hot type flags in the
Ty
(pointer) - add tracking UI test for upstream LLVM issue
- configure.py: add flag for riscv{64,32}gc musl-root
- Reduce MIR dump file count for MIR-opt tests
- bootstrap: update paths cargo-credential crate
- Fix
x test core
when download-rustc is enabled - Apply simulate-remapped-rust-src-base even if remap-debuginfo is set in config.toml
- Implement builtin # syntax and use it for offset_of!(...)
- Migrate bootstrap to Clap-based argument parsing
- stop
x fmt
formatting untracked directories - Update tests for libtest
--format json
- [master] Bump stage0
- enable PGO on x86_64-apple-darwin
- Group some sections of our logs in github actions
- Tidy: Allow inline tests in the compiler
- Rename
wasm32-wasi
towasm32-wasi-preview1
- Allow overwriting the sysroot compile flag in compile tests
- bootstrap: Unify test argument handling
- fix out-of-date comment about rpath in bootstrap
- Fix various configure bugs
- Skip installing rustc stage 0
- Fix
x test lint-docs linkchecker
when download-rustc is enabled - ci: Add support for dist-loongarch64-linux
- bootstrap: Update linux-raw-sys to 0.3.2
- Don't special-case download-rustc in
maybe_install_llvm
- boostrap: print output during building tools
- Bump
download-ci-llvm-stamp
for loong support - Fix bootstrap locking
- Support
x test --stage 1 ui-fulldeps
- Require impl Trait in associated types to appear in method signatures
- Add compare-output-lines-by-subset flag to compiletest
- Avoid including dry run steps in the build metrics
- Require Python 3 in bootstrap.py
- Add unused pre-interned symbols tidy check
- Spelling src bootstrap
- Parallelize initial Rust download in bootstrap
- [beta] Prepare Rust 1.70.0
- bolt: remove deprecated option value for split-functions
- Spelling
- Move test files
- Start using
gix
inbootstrap
- ship tools with sysroot
- Fix
x test rust-installer
whencargo
is set to a relative path - [compiletest] Add more test ignore reasons,
needs-
validation, and improved error messages - run tidy's style check from the root path
- test for the default parallel compiler on threads=8
- Automatically update the LLVM submodule for musl target (and other places)
- Add
libLLVM.so
to the target libdir when download-rustc is enabled - fix: use
--retry-connrefused
in curl invocations of bootstrap download - Remove some unneeded imports / qualified paths
- tidy: Issue an error when UI test limits are too high
- Fix
--extend-css
option - Fix no_std tests that load libc from the sysroot when download-rustc is enabled
- bootstrap: drop some windows features
- Greatly decrease the size of
rustc_driver.so
when debuginfo is enabled - Add additional information to note for referencing packed field diagnostic
- Do not attempt to commute comparison and cast to codegen discriminants
- Remove orphaned remove_dir_all implementation from rust-installer
- Update chrono/spdx-rs/time
- fix running Miri tests
- Fix typos in librustdoc, tools and config files
- Start using
windows sys
for Windows FFI bindings in std - Fix typos
- './configure' now checks if 'config.toml' exists before writing to that destination
- Fix x check --stage 1 when download-ci-llvm=false
- Fix
x check --stage 1
when download-rustc is enabled - download-rustc: Give a better error message if artifacts can't be dowloaded
- compiletest: Use remap-path-prefix only in CI
- compiletest: Give a better error message if
node
isn't installed - Fix
x test ui --target foo
when download-rustc is enabled - Add renaming of ignore-git to changelog
- bump treewide clap to 4.2.1
- Fix a typo in
config.example.toml
- Make the "codegen" profile of
config.toml
download and build llvm from source. - ignore_git → omit_git_hash
- Updating Wake example to use new 'pin!' macro
- Pass host linker to compiletest.
- bump few deps
- add
dont_check_failure_status
option in the compiler test - Set commit information environment variables when building tools
- Fix buffer overrun in bootstrap and (test-only) symlink_junction
- Remove the use of
-use-gnu-stack
when BOLTing LLVM - Remove optimal xz settings from CI
- Fix macOS and Windows installers when rust-docs is not available.
- Move most ui-fulldeps tests to ui/
- Include invocation start times
- submodule detection for proper fix on #96188
- uplift
clippy::clone_double_ref
to rustc - bootstrap: replace
atty
withis-terminal
, dedupe deps - Replace any existing
build/host
symlink - test the parallel compiler
- Drop binutils on powerpc-unknown-freebsd
- [beta] backport
- configure --set support list as arguments
- Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool
- Always set
RUSTC_BOOTSTRAP
withx doc
- moving TestHelpers to test.rs and renaming native.rs to llvm.rs
- check for missing codegen backeng config
- [rust-installer] Allow long link names in tar files
- bootstrap: create directory junction target if it does not exist
- LIBPATH is used as dylib's path environment variable on AIX
- Rpath is not supported on AIX
- Bugfix: avoid panic on invalid json output from libtest
- Download beta compiler toolchain in bootstrap if it doesn't yet exist
- Change tidy error message for TODOs
- Add
force
option for--extern
flag - Rename 'src/bootstrap/native.rs' to llvm.rs
- Set LLVM
LLVM_UNREACHABLE_OPTIMIZE
toOFF
- [stable] 1.68.1 release
- Revert "Auto merge of #107224 - nikic:llvm-16, r=cuviper"
- refactor
fn bootstrap::builder::Builder::compiler_for
logic - Add tests for configure.py
- Check for llvm-tools before install
- bootstrap: skip llvm-tools install when externally provided
- Use write_str() instead of write!() when possible
- Set
CMAKE_SYSTEM_NAME
for Linux targets - extend
detect_src_and_out
test - #108240 Rename 'src/bootstrap/native.rs' to llvm.rs
- Make cargo a workspace
- Add
dist.compression-profile
option to control compression speed - Create dirs for build_triple
- create
config::tests::detect_src_and_out
test for bootstrap - Prevent stable
libtest
from supporting-Zunstable-options
- [beta] backport
- Rename
config.toml.example
toconfig.example.toml
- add
enable-warnings
flag for llvm, and disable it by default. - bootstrap: document tidy
- only call git on git checkouts during bootstrap
- Add
internal_features
lint - Validate
ignore
andonly
compiletest directive, and add human-readable ignore reasons - Set
LIBC_CHECK_CFG=1
when building Rust code in bootstrap - Decouple
test
andproc_macro
- Force to use the stage 2 compiler when config.download_rustc is set
- Add a
sysroot
crate to represent the standard library crates - Bump bootstrap compiler to 1.69 beta
- Dogfood CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse in bootstrap
- Update host compiler to LLVM 16
- move personality to sys
- Add OpenHarmony targets
- x fmt: Don't print all modified files if there's more than 10
- Make
x test tidy
less noisy - x fmt: Only check modified files locally
- Speed up tidy quite a lot
- On nightly, dump ICE backtraces to disk
- [beta] stage0 bump and backports
- Update cargo
- Include executed tests in the build metrics (and use a custom test display impl)
- Allow setting hashmap toml values in
./configure
- Use dynamic dispatch for queries
- Omit unchanged options from config.toml in
configure.py
- [PERF EXPERIMENT] Enable the parallel compiler.
- More config.toml.example cleanups
- Remove the option to disable
llvm-version-check
- Rename
src/etc/vscode_settings.json
torust_analyzer_settings.json
- Sync codegen defaults with compiler defaults and add a ping message so they stay in sync
- Remove
llvm.skip-rebuild
option - Don't use fd-lock on Solaris in bootstrap
- Add a new config flag, dist.include-mingw-linker.
- Fix
x clean
with specific paths - Import rust-installer & adjust compression settings
- [EXPERIMENT] Enable frame pointers for rustc
- move pal cfgs in f32 and f64 to sys
- bootstrap: Update the output of the
check
descriptions - support
x fmt
for sub and outside of rust directories - Make
x doc --open
work on every book - Teach bootstrap system to export target specific rustflags
- Add RUSTC_EMIT option to pass on --emit to crates during bootstrap
- fix rustfmt symlink exists check in bootstrap
- Allow building serde and serde_derive in parallel
- Revert "Copy
bin/*
andlib/*.dylib
files tostage0-sysroot
" - Revert #107834
- fix
build --stage 2 compiler/rustc
panic - Revert "Copy
bin/*
andlib/*.dylib
files tostage0-sysroot
" - no-fail-fast support for tool testsuites
- Distribute libntdll.a with windows-gnu toolchains
- move TestHelpers to test.rs and rename native.rs to llvm.rs
- [107049] Recognise top level keys in config.toml.example
- Download rustfmt regardless of rustc being set in config.toml
- Change src/etc/vscode_settings.json to always treat ./library as the sysroot source
- Improve building compiler artifacts output
- Add
ConstParamTy
trait - Rollup of 3 pull requests
- Respect config.lld_enabled when building windows-gnu.
- Split
x setup
sub-actions to CLI arguments (Clap edition) - Display pid of process holding lock
- Migrate
x
to usingclap
- [beta] backport
- Intern
SimplifyCfg
into enum variants - make x look for x.py if shell script does not exist
- Copy
bin/*
andlib/*.dylib
files tostage0-sysroot
- Allow shortcuts to directories to be used for ./x.py fmt
- Pass arguments to
x
subcommands with--
- Update LLVM submodule
- create symlink only for non-windows operating systems
- Emit JSON output for the building of bootstrap itself
- Added sanity check to to catch empty
host
parameter in./x.py test --host=''
- Split
x setup
sub-actions to CLI arguments - Patch
build/rustfmt/lib/*.so
for NixOS - Handled snap curl issue inside Rust
- create symlink for legacy rustfmt path
- Remove missing_tools config
- Add zsh and bash completions for
x
- Set
rust-analyzer.check.invocationLocation
toroot
- no python in shell scripts
- bootstrap.py: fix build-failure message
- x.py fails all downloads that use a tempdir with snap curl #107722
- Allow automatically creating vscode
settings.json
withx setup
- Release 1.67.1
- Apply BOLT optimizations without rebuilding LLVM
- Run
expand-yaml-anchors
inx test tidy
- Enable frame pointers on all targets except x86.
- Add only modified subcommand for compiletest
- Bump rust-installer
- [WIP] Build
rustc
with a single CGU on x64 Linux - Build only X86 architecture for all temporary LLVM builds in Linux x64
dist
builder - Make
x clippy
download and use beta clippy - Fix
x fix
on the standard library itself - Add a linker argument back to boostrap.py
- Update the minimum external LLVM to 14
- Add an option to tune compiler crates' CGUs to bootstrap
- Don't rebuild LLVM for BOLT optimization
- Removed bootstrap asserts
- Small bootstrap improvements
- When stamp doesn't exist, should say Error, and print path to stamp file
- Bootstrap asserts
- Gracefully exit if --keep-stage flag is used on a clean source tree
- Add internal lint against
Ty == Ty
- Fix wording from
rustbuild
tobootstrap
- Bump bootstrap compiler to 1.68
- Add option to include private items in library docs
- Add
rust.lto=off
to bootstrap and set as compiler/library default - Bring tests back into rustc source tarball
- Add T-bootstrap label to tools
- Revisit fix_is_ci_llvm_available logic
- Upgrade to LLVM 16
- io: soften ‘at most one write attempt’ requirement in io::Write::write
- [beta] backport
- Enable sanitizers for s390x-linux
- Allow to disable auto and blanket trait impls retrieval in rustdoc if it is in
parallel_compiler
mode - consolidate bootstrap docs
- Print PID holding bootstrap build lock on Linux
- bootstrap: cleanup the list of extra check cfgs
- [beta] backport rollup
- fixes the --set option in configure.py
- Re-enable building rust-analyzer on riscv64
- Implement jump threading MIR opt
- Add offset_of! macro (RFC 3308)
- Make stage2 rustdoc and proc-macro-srv disableable in x.py install
- Customize ICE link to include some metadata
- PERF: split dwarf after #106709
- Experiment: variation on #106745
- Update cc to 1.0.77
- Revert "warn newer available version of the x tool"
- remove unreachable error code
E0490
- make error emitted on
impl &Trait
nicer - Remove duplicate sha-1 dependency
- fix(x): grammar
- Switch to
EarlyBinder
forconst_param_default
andimpl_trait_ref
queries - [nightly] Fix CVE-2022-46176
- [beta] Fix CVE-2022-46176
- [stable] Prepare Rust 1.66.1 and fix CVE-2022-46176
- Link unstable features
- Fix aarch64-unknown-linux-gnu_ilp32 target
- [CI only] Move tests rebased
- enable
rust_2018_idioms
lint group for doctests - Fix unset e_flags in ELF files generated for AVR targets
- migrate compiler, bootstrap and compiletest to windows-rs
- Simple solution to validate toml in issue #106104
- Update mdbook
- Doc test rustc ast lowering
- Add sanitizer support for modern iOS platforms
- tidy: Don't include wasm32 in compiler dependency check
- Move src/test to the root
- Adjust comments about pre-push.sh hook
- Add vendor to Fuchsia's target triple
- Permit the MIR inliner to inline diverging functions
- Handle non-existent upstream master branches in
x fmt
- Allow passing a specific date to
bump-stage0
- Make x.py clippy download and use beta clippy
- Revert "bootstrap: Get rid of
tail_args
instream_cargo
" - Jsondoclint: Add
--verbose
and--json-output
options
714 pull requests were merged
- Simplify bootstrap
--check-cfg
arguments - solaris support on bootstrap lock
- utilize the unused
llvm-tools
option - Remove usage of deprecated
missing-tools
bootstrap flag - Update sysinfo
- fix
./configure --set change-id
- bootstrap: use same make flags with rustdoc
- remove dead inferred outlives testing code
- Fix doc typos
- Update cargo
- Bump stage0 to 1.76 beta
- Update sysinfo version to 0.30.0
- don't build
rust-analyzer-proc-macro-srv
on def config - Comment out
change-id
inconfig.example.toml
- Separate MIR lints from validation
- remove
hex
dependency in bootstrap - fix
x clean
for cross-compiled artifacts - update
measureme
to 10.1.2 to deduplicateparking_lot
-Ztrait-solver=next
to-Znext-solver
- Update to LLVM 17.0.6
- Fix LLD thread flags in bootstrap on Windows
- Unbreak non-unix non-windows bootstrap
- Make exhaustiveness usable outside of rustc
- Subtree update of
rust-analyzer
- Revert using MCP510 in bootstrap
- fix --dry-run when the change-id warning is printed
- use
&
instead of start-process in x.ps1 - use bold magenta instead of bold white for highlighting
- Remove extra check cfg handled by libc directly
- Extend tidy alphabetical checking to
tests/
. - Remove unused bootstrap config option
- add comment about keeping flags in sync between bootstrap.py and bootstrap.rs
- dump bootstrap shims
- bootstrap(builder.rs): Don't explicitly warn against
semicolon_in_expressions_from_macros
- Fix
x
not to quit afterx
printssettings.json
- use c literals in compiler and library
- update hashbrown
- move packed-struct tests into packed/ folder
- replace
once_cell::sync::OnceCell
with stdOnceLock
- Move some methods from
tcx.hir()
totcx
- Add unstable
-Zdefault-hidden-visibility
cmdline flag forrustc
. - Add -Zunpretty=stable-mir output test
- Subtree update of
rust-analyzer
- bootstrap: Memoize the LLVM rebuild hash to avoid very slow
x check
- compile-time evaluation: detect writes through immutable pointers
- give dev-friendly error message for incorrect config profiles
- skip {tidy,compiletest,rustdoc-gui} based tests for
DocTests::Only
- docs: publish nightly doc for
rustfix
- Update cargo
- Replace
option.map(cond) == Some(true)
withoption.is_some_and(cond)
- Fix build on Solaris after #117815.
- general improvements/fixes on bootstrap
- Recompile LLVM when it changes in the git sources
- utilize stdlib debug assertion status in compiletest
- Remove i686-apple-darwin cross-testing
- Remove
feature
from the list of well known check-cfg name - allow bypassing the build directory lock
- Explicitly unset $CARGO for compiletest
- [beta] backport & bootstrap bump
- Add thinlto support to codegen, assembly and coverage tests
- Expand Miri's BorTag GC to a Provenance GC
- Enable Rust to use the EHCont security feature of Windows
- bootstrap: only show PGO warnings when verbose
- add safe compilation options
- Update the minimum external LLVM to 16.
- On borrow return type, suggest borrowing from arg or owned return type
- doc: add release notes to standalone doc bundle
- Bootstrap bump
- Add emulated TLS support
- Cranelift isn't available on non-nightly channels
- Set
CFG_OMIT_GIT_HASH=1
during builds whenomit-git-hash
is enabled - bootstrap: simplify setting unstable-options for tools
- [beta] 1.75.0 promotion
- improve bootstrap change-tracking system
- deprecate
if-available
value ofdownload-ci-llvm
- Update cargo
- Fix tidy tripping up on untracked files with special characters in their name
- Build Fuchsia in CI
- enable unstable feature on
x clean [PATH]
- bump few ICU4X leftover deps
- Restore rustc shim error message
- speed up
x clean
- check config file before prompts on
x setup
- Subtree update of
rust-analyzer
- coverage: Rename the
run-coverage
test mode tocoverage-run
- Document clippy_config in nightly-rustc docs
- bump some deps
- [beta] backports
- Update ICU4X
- x clippy
- improve compiler&tool documenting and re-enable cranelift on CI
- Update cargo
- clone less
- Revert "Auto merge of #117328 - lqd:cranelift-rocket, r=Mark-Simulacrum"
- Revert "bootstrap: do not purge docs on CI environment"
- bootstrap/setup: create hooks directory if non-existing
- Remove support for alias
-Z symbol-mangling-version
- coverage: Unify
tests/coverage-map
andtests/run-coverage
intotests/coverage
- bootstrap: do not purge docs on CI environment
- enable parallel rustc front end in nightly builds
- Use derivative for
Clone
/PartialOrd
/Ord
/Hash
inrustc_type_ir
- improve and fix
x install
- Add support for mipsel-unknown-netbsd, 32-bit LE mips.
- Remove asmjs
- pass
CODEGEN_BACKENDS
to docker - change default output mode of
BootstrapCommand
- Run part of
rustc_codegen_gcc
's tests in CI - fix miri target information for Test step
- handle the case when the change-id isn't found
- Thir unsafeck fixes
- Avoid unnecessary builds/rebuilds of
rust-demangler
- compiletest: Display compilation errors in mir-opt tests
- tidy: add unit tests for alphabetical checks
- Allow configuring the parent GitHub repository
- remove change-id assertion in bootstrap test
- Use
unwinding
crate for unwinding on Xous platform - x.ps1: remove the check for Python from Windows Store
- Clean up
compiler/rustc*/Cargo.toml
- [
RFC 3086
] Attempt to try to resolve blocking concerns - add bootstrap flag
--skip-stage0-validation
- coverage: Add UI tests for values accepted by
-Cinstrument-coverage
- Enable cg_clif tests for riscv64gc
- [beta] backports and stage0 bump
- Improve android-ndk property interface
- Prepare the
bootstrap
tool for the new check-cfg syntax - bootstrap: bump fd-lock, clap and windows
- fix(bootstrap) info message show correct path now
- Add a new
download-ci-llvm = if-unchanged
option and enable it by default forprofile = codegen
- Add FileCheck annotations to mir-opt tests.
- Normalize alloc-id in tests.
- Make x capable of resolving symlinks
- remove outdated bootstrap FIXME
- x.py zsh completion support
- optimize file read in
Config::verify
- Reorganize
bootstrap/Cargo.toml
- Centralize command running in boostrap (part one)
- add
SAFETY
block on the usage of unsafegetuid
- Sync rustc_codegen_cranelift
- Cleanup
rustc_features
some more - Add RUSTFLAGS_BOOTSTRAP to RUSTFLAGS for bootstrap compilation
- linker: Remove
-Zgcc-ld
option - Miri subtree update
- Use tidy to enforce alphabetical dependency ordering
- Pass flags to
rustdoc
shim without env. vars - Pass rustc shim flags using environment variable
- vendoring in tarball sources
- Bump bootstrap compiler to just-released beta
- bootstrap: make copying linker binaries conditional
- [beta] promote release
- Optimize
librustc_driver.so
with BOLT - ensure the parent path's existence on
x install
- Initiate the inner usage of
cfg_match
(Compiler) - warn if source is not either a git clone or a dist tarball
- Generalize LLD usage in bootstrap
- bootstrap: copy self-contained linking components to
stage0-sysroot
- More fixes for running the test suite on a bare metal target
- Apply structured suggestion that allows test to work since 1.64
- Fix misuses of a vs an
- reorganize/refactor bootstrap codebase
- Update cargo
- quote argument to sh -n
- ref(bootstrap.py): add
eprint
function - add sanity checks for user write access on
x install
- Pass
-jN
from Make toBOOTSTRAP_ARGS
- Open the FileEncoder file for reading and writing
- Update crates for better MIPS R6 support
- Don't pass
-stdlib=libc++
when building C files on macOS - Fix
ui-fulldeps --stage=1
with-Zignore-directory-in-diagnostics-source-blocks
- dependencies: reduce the amount of crates pulling in atty
- fix mismatched symbols
- rustdoc: show crate name beside smaller logo
- compiletest: Don't swallow some error messages.
- Split out the stable part of smir into its own crate to prevent accidental usage of forever unstable things
- bootstrap major change detection implementation
- Remap Cargo dependencies to /rust/deps
- Avoid blessing cargo deps's source code in ui tests
- Add check_unused_messages in tidy
- update rust_analyzer_settings.json
- rustdoc: merge theme css into rustdoc.css
- Make AIX known by bootstrap
- Make compiletest output truncation less disruptive
- compiletest: load supported sanitizers from target spec
- Add
std::hash::{DefaultHasher, RandomState}
exports (needs FCP) - Enable ASAN/LSAN/TSAN for *-apple-ios-macabi
- Fix log formatting in bootstrap
- issue has since been fixed
- support
{disable,enable}-patch-binaries-for-nix
in configure.py - update
build.extended
comments inconfig.example.toml
- Add arm64e-apple-ios & arm64e-apple-darwin targets
- optimize and cleanup bootstrap source
- get rid of duplicate primitive_docs
- also skip musl checks when BOOTSTRAP_SKIP_TARGET_SANITY is set
- optimize bootstrap dep tree
- bootstrap/format: remove unnecessary paths.push
- bootstrap: use git merge-base for LLVM CI download logic
- avoid stdout redirection on
curl
executions - tell people what to do when removing an error code
- Run tidy license checker on more workspaces
- replace outdated github username 'ozkanonur'
- added support for GNU/Hurd
- [beta] backport and stage0 bump
- tests: add test for #67992
- Move some ui tests to subdirectories
- tests: re-enable pretty-std-collections on macOS
- Detect and report nix shell
- compile rust-anaylzer with
x check
if it's enabled - Skip ExpandYamlAnchors when the config is missing
- Disable bootstrap rustc version check
- Update bootstrap compiler to 1.73.0 beta
- Always use
os-release
rather than/lib
to detectNixOS
(bootstrap) - Fix Step Skipping Caused by Using the
--exclude
Option - bootstrap/miri: respect config_locked_deps
- when terminating during unwinding, show the reason why
- Warn on elided lifetimes in associated constants (
ELIDED_LIFETIMES_IN_ASSOCIATED_CONSTANT
) - coverage: Anonymize line numbers in
run-coverage
test snapshots - coverage: Explicitly test the coverage maps produced by codegen/LLVM
- [beta] backport
- interpret: remove incomplete protection against invalid where clauses
- Prevent constant rebuilds of
rustc-main
(and thus everything else) - bump schannel, miow to drop windows-sys 0.42
- Print tidy command with bless tidy check failure
- Fix ui-fulldeps missing the
internal_features
lint on stage 0 - copy the correct version of LLVM into the stage0 sysroot
- bootstrap: config: fix version comparison bug
- Improve spans for indexing expressions
- compiletest: Handle non-utf8 paths (fix FIXME)
- Skip checking of
rustc_codegen_gcc
with vendoring enabled - x.py print more detailed format files and untracked files count
- Revert #113588 to fix bootstrap timings
- get auto traits for parallel rustc
- Strip unexpected debuginfo from
libLLVM.so
andlibrustc_driver.so
when not requesting any debuginfo - Update x64 Linux host compiler to LLVM 17
- Prepare Rust 1.71.1
- better error handling for
rust.codegen-backends
on deserialization - Compute variances for lazy type aliases
- Check lazy type aliases for well-formedness
- Add tidy check for stray rustfix files
- Update lexer emoji diagnostics to Unicode 15.0
- Update the minimum external LLVM to 15
- Rename tests/ui/issues/issue-100605.rs to ../type/option-ref-advice.rs
- Change LLVM BOLT flags
- Revert "add tidy check that forbids issue ui test filenames"
- clean stage-specific artifacts using
x clean --stage
- Lots of tiny incremental simplifications of
EmitterWriter
internals - Dont pass
-Zwrite-long-types-to-disk=no
forui-fulldeps --stage=1
- compiletest: remove ci-specific remap-path-prefix
- Allow using external builds of the compiler-rt profile lib
- bootstrap: inline format!() args (0)
- Add help for crate arg when crate name is invalid
- Split some functions with many arguments into builder pattern functions
- Update to LLVM 17
- typos
- Update cargo
- fix(bootstrap): rename exclude flag to skip 🐛
- Define CMAKE_SYSTEM_NAME on a cross build targeting DragonFly.
- Fix test panics for submodule of book is not updated
- Sync rustc_codegen_cranelift
- Fix rustc-args passing issue in bootstrap
- rust-installer: Use env(1) in the shebang.
- [beta] backport
- etc: add
RUSTC_BOOTSTRAP
to rust-analyzer config - new unstable option: -Zwrite-long-types-to-disk
- Replace in-tree
rustc_apfloat
with the new version of the crate - Tests crash from inappropriate use of common linkage
- Avoid another gha group nesting
- Remove unused
bootstrap::util::CiEnv
enum - Report errors in jobserver inherited through environment variables
- Move MinGW linker dist option to proper section
- Fix rpath for libdir is specified
- Fix compiletest windows path finding with spaces
- Update Clippy
- remove outdated
FIXME
s in bootstrap internals - Double check that hidden types match the expected hidden type
- add a csky-unknown-linux-gnuabiv2 target
- misc bootstrap cleanups
- bootstrap: Clean up try_run
- Make
nodejs
control the default for RustdocJs tests instead of a hard-off switch - Bump bootstrap to 1.72 beta
- Fix bootstrap.py uname error
- Test simd-wide-sum for codegen error
- Update cargo
- Move BOLT from
bootstrap
toopt-dist
- refactor(rustc_middle): Substs -> GenericArg
- bootstrap: use git merge-base for LLVM CI download logic
- add tidy check that forbids issue-XXXX test filenames
- Revert "fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy …
- bootstrap: Don't print "Skipping" twice
- Remove the library/term exception in tidy's pal checker code
- Implement generic const items
- Add even more GHA log groups
- Add CL and CMD into to pdb debug info
- add aarch64-unknown-teeos target
- Reimplement C-str literals
- Fail the build if clippy tests don't pass
- reduce deps for windows-msvc targets for backtrace
- Add
x86_64-unikraft-linux-musl
target - various download-rustc fixes
- Fix submodule handling when the current branch is named after a tag
- Add support for NetBSD/riscv64 aka. riscv64gc-unknown-netbsd.
- Implement selection for
Unsize
for better coercion behavior - Copy stage0
rustc
binaries tostage0-sysroot
- Revert the lexing of
c"…"
string literals - Update debuginfo test runner to provide more useful output
- Remove chalk support from the compiler
- Unite bless environment variables under
RUST_BLESS
- Update rustix
- link to PERMITTED_DEPENDENCIES in tidy error
- Use String or Int to set the opt level
- Update compiler builtins
- Update Clippy
- fix compiletest crash
- Make Rust Analyzer tests faster by compiling less code
- Don't pass --test-args to
python -m unitest
- Fix try builds on the msvc builder
- Don't fail early if
try_run
returns an error - Fix loading target specs in compiletest not working with custom targets
- compiletest: Only trim the end of process output
- Set
channel = nightly
in dist profile - rustdoc: Add lint
redundant_explicit_links
- fix(resolve): update the ambiguity glob binding as warning recursively
- bootstrap: rename 'user' profile to 'dist'
- Add x86_64-unknown-linux-ohos target
- Fix build on Solaris where fd-lock cannot be used.
- cargo update
- Switch some more Steps to
builder.msg
- rust-installer & rls: remove exclusion from rustfmt & tidy
- Move some docs from the README to the dev-guide
- Fix old python deprecation check in x.py
- bootstrap: Backup
settings.json
to the correct filename - bootstrap: update defaults for
compiler
andlibrary
aliases - Fix rustdoc gui tester
- Enable zlib in LLVM on aarch64-apple-darwin
- WASI threads, implementation of wasm32-wasi-preview1-threads target
- display PID of process holding lock
- Add more context to
quit_if_file_exists
inconfigure.py
& delete config.toml in CI hir
: AddBecome
expression kind (explicit tail calls experiment)- Revert 'Rename profile=user to profile=dist'
- rust-installer: migrate to clap 4.2, change to 2021 edition and fix few clippy lints
- Update cargo
- llvm ffi: Expose
CallInst->setTailCallKind
- Move tests
- Use RustOptimize to set optimize
- Don't try to auto-bless 32-bit
mir-opt
tests on ARM Mac hosts - bootstrap: check for dry run when copying env vars for msvc
- Run part of cg_clif's tests in CI
- Add simple markdown formatting to
rustc --explain
output - Sync rustc_codegen_cranelift
- Test
x.ps1
inmsvc
CI job - cleanup azure leftovers
- CI: merge
mingw
test CI jobs - CI: merge
msvc
test CI jobs - Update cargo
- rustdoc-gui: allow running on Windows
- implement stdout streaming in
render_tests::Renderer
- bootstrap: Don't override
debuginfo-level = 1
to meanline-tables-only
- Fix python linting errors
- Update documentation for
tools
defaults - Add deprecation warning to python versions <3.6 in x.py
- Add support for tidy linting via external tools for non-rust files
- Give more helpful progress messages in
Assemble
- Document rustc_driver by default
- Make compiletest aware of targets without dynamic linking
- Allow overwriting the sysroot compile flag via --rustc-args
- Add support for targets without unwinding in
mir-opt
, and improve--bless
for it - download-rustc: Fix
x test core
on MacOS - add mips64r6 and mips32r6 as target_arch values
- Remove comments from mir-opt MIR dumps
- Fix rust-analyzer proc macro server
- bootstrap: remove dependency
is-terminal
- Convert
run-make/coverage-reports
tests to use a custom compiletest mode - Don't double-print status messages in GHA
- bootstrap: Disallow
--exclude test::std
- Fix the tests-listing-format-json test on Windows
- Disable RustAnalyzer check by default, run Rustfmt check before
- Test the cargo args generated by bootstrap.py
- Don't require the output from libtest to be valid UTF-8
- Don't compile rustc to self-test compiletest
- rust-lld: add rpath entry to the correct
lib
folder - [beta] backports + stage0 bump
- Port PGO/LTO/BOLT optimized build pipeline to Rust
- refactor
tool_doc!
- Make sure the build.rustc version is either the same or 1 apart (revised)
- Update dependencies with reported vulnerabilities
- pass
--lib
tox doc
- Erase regions even if normalization fails in writeback (in new solver)
- Print the full arguments passed to
./configure
in CI - Fix the progress message for
x doc rustc
- Add
-Ztrait-solver=next-coherence
- Update cargo
- Don't print unsupported split-debuginfo modes with
-Zunstable-options
- Bootstrap update to 1.71 beta
- Add
--warnings warn
flag tox.py
- enhancements on build_helper utilization and rustdoc-gui-test
- Group rfcs tests
- Move tests from
ui/discrim
dir - Bump to 1.72.0
- Avoid one
rustc
rebuild in the optimized build pipeline - Add support for LLVM SafeStack
- Add other workspaces to
linkedProjects
in rust_analyzer_settings - deps: bump crates
- Revert "Enable incremental independent of stage"
- Respect CARGOFLAGS in bootstrap.py
- Make errors from
x doc
less verbose - Generate docs for bootstrap itself
- Stop normalizing so many different prefixes
- bootstrap: Make
clean
respectdry-run
- bootstrap: Various Step refactors
- Include test suite metadata in the build metrics
- make
noop_method_call
warn by default - refactor and cleanup the leak check, add it to new solver
- Ensure Fluent messages are in alphabetical order
- Render test messages from bootstrap
- MIR: opt-in normalization of
BasicBlock
andLocal
numbering - Unset MIRI_BLESS for mir-opt-level 4 miri tests
- Make
x test --dry-run
less verbose - Diagnostic namespace
- Fix linkage for large binaries on mips64 platforms
- add
--remote-time
flag to curl for bootstrap - Read beta version from the version file if building from a source tarball
- Fix typo in bootstrap command description
- use c literals in compiler and library
- Fix dependency tracking for debugger visualizers
- very minor cleanups
- Implement proposed API for
proc_macro_span
- Override config.toml options from command line
- Improve startup time of bootstrap
- Include better context for "already exists" error in compiletest
- Move tests
- Make sure the build.rustc version is either the same or 1 apart
- update Miri
- Run tests on PGO/LTO/BOLT optimized dist artifacts
- Get current target config from
--print=cfg
- update Miri
- Bump object and thorin-dwp
- bump windows crate 0.46 -> 0.48
- Generate shell completions for bootstrap with Clap
- Fix linking Mac Catalyst by including LC_BUILD_VERSION in object files
- Add a tidy check to find unexpected files in UI tests, and clean up the results
- new tool
rustdoc-gui-test
- Only depend on CFG_VERSION in rustc_interface
- Load only the crate header for
locator::crate_matches
- Add support for NetBSD/aarch64-be (big-endian arm64).
- Give a more helpful error when running the rustc shim directly
- [beta] backport
- Issue 109502 follow up, remove unnecessary Vec::new() from compile_test()
- support set
rpath
option for each target independently - Use
free-args
consistently in bootstrap - bootstrap: add .gitmodules to the sources
- bootstrap: add llvm-project/runtimes to the sources
- Fix instrument-coverage tests by using Python to sort instantiation groups
- Update serde in workspace and non-synced dependencies
- check bootstrap scripts syntax
- Return error code from x.ps1
- Suggest struct when we get colon in fileds in enum
- diagnostics: exclude indirect private deps from trait impl suggest
- remove pointless
FIXME
inbootstrap::download
- Make x.py work again in most (all?) cases
- Move some tests
- Output some bootstrap messages on stderr
- bootstrap: Fix compile error: unused-mut
- Sync rustc_codegen_cranelift
- windows: kill rust-analyzer-proc-macro-srv before deleting stage0 directory
- tidy: remove ENTRY_LIMIT maximum checking and set it to 900
- Promote loongarch64-unknown-linux-gnu to Tier 2 with host tools
- Skip
rustc
version detection on macOS - fix: :bug: etc/bash_complettion -> src/etc/... to avoid copy error
- [beta] backport
- compiletest: add bpf-linker assembly support
- compiletest: emit assembly-output header in error
- configure.py: add flag for riscv{64,32}gc musl-root
- Reduce MIR dump file count for MIR-opt tests
- bootstrap: update paths cargo-credential crate
- Fix
x test core
when download-rustc is enabled - Apply simulate-remapped-rust-src-base even if remap-debuginfo is set in config.toml
- Implement builtin # syntax and use it for offset_of!(...)
- Migrate bootstrap to Clap-based argument parsing
- stop
x fmt
formatting untracked directories - Update tests for libtest
--format json
- [master] Bump stage0
- Group some sections of our logs in github actions
- Allow overwriting the sysroot compile flag in compile tests
- bootstrap: Unify test argument handling
- fix out-of-date comment about rpath in bootstrap
- Fix various configure bugs
- Fix
x test lint-docs linkchecker
when download-rustc is enabled - ci: Add support for dist-loongarch64-linux
- bootstrap: Update linux-raw-sys to 0.3.2
- Don't special-case download-rustc in
maybe_install_llvm
- boostrap: print output during building tools
- Bump
download-ci-llvm-stamp
for loong support - Fix bootstrap locking
- Support
x test --stage 1 ui-fulldeps
- Require impl Trait in associated types to appear in method signatures
- Add compare-output-lines-by-subset flag to compiletest
- Avoid including dry run steps in the build metrics
- Spelling src bootstrap
- Parallelize initial Rust download in bootstrap
- [beta] Prepare Rust 1.70.0
- bolt: remove deprecated option value for split-functions
- Move test files
- ship tools with sysroot
- Fix
x test rust-installer
whencargo
is set to a relative path - [compiletest] Add more test ignore reasons,
needs-
validation, and improved error messages - Automatically update the LLVM submodule for musl target (and other places)
- Add
libLLVM.so
to the target libdir when download-rustc is enabled - Remove some unneeded imports / qualified paths
- tidy: Issue an error when UI test limits are too high
- Fix
--extend-css
option - Fix no_std tests that load libc from the sysroot when download-rustc is enabled
- bootstrap: drop some windows features
- Greatly decrease the size of
rustc_driver.so
when debuginfo is enabled - Do not attempt to commute comparison and cast to codegen discriminants
- Remove orphaned remove_dir_all implementation from rust-installer
- Update chrono/spdx-rs/time
- fix running Miri tests
- Fix typos in librustdoc, tools and config files
- Start using
windows sys
for Windows FFI bindings in std - './configure' now checks if 'config.toml' exists before writing to that destination
- Fix x check --stage 1 when download-ci-llvm=false
- Fix
x check --stage 1
when download-rustc is enabled - download-rustc: Give a better error message if artifacts can't be dowloaded
- compiletest: Use remap-path-prefix only in CI
- compiletest: Give a better error message if
node
isn't installed - Fix
x test ui --target foo
when download-rustc is enabled - Add renaming of ignore-git to changelog
- Fix a typo in
config.example.toml
- Make the "codegen" profile of
config.toml
download and build llvm from source. - ignore_git → omit_git_hash
- Pass host linker to compiletest.
- bump few deps
- add
dont_check_failure_status
option in the compiler test - Set commit information environment variables when building tools
- Fix buffer overrun in bootstrap and (test-only) symlink_junction
- Remove the use of
-use-gnu-stack
when BOLTing LLVM - Remove optimal xz settings from CI
- Fix macOS and Windows installers when rust-docs is not available.
- Move most ui-fulldeps tests to ui/
- Include invocation start times
- submodule detection for proper fix on #96188
- bootstrap: replace
atty
withis-terminal
, dedupe deps - Replace any existing
build/host
symlink - Drop binutils on powerpc-unknown-freebsd
- [beta] backport
- configure --set support list as arguments
- Stabilize raw-dylib, link_ordinal, import_name_type and -Cdlltool
- Always set
RUSTC_BOOTSTRAP
withx doc
- check for missing codegen backeng config
- [rust-installer] Allow long link names in tar files
- LIBPATH is used as dylib's path environment variable on AIX
- Rpath is not supported on AIX
- Bugfix: avoid panic on invalid json output from libtest
- Download beta compiler toolchain in bootstrap if it doesn't yet exist
- Change tidy error message for TODOs
- Add
force
option for--extern
flag - Rename 'src/bootstrap/native.rs' to llvm.rs
- Set LLVM
LLVM_UNREACHABLE_OPTIMIZE
toOFF
- [stable] 1.68.1 release
- Revert "Auto merge of #107224 - nikic:llvm-16, r=cuviper"
- refactor
fn bootstrap::builder::Builder::compiler_for
logic - Add tests for configure.py
- Check for llvm-tools before install
- Set
CMAKE_SYSTEM_NAME
for Linux targets - extend
detect_src_and_out
test - Make cargo a workspace
- Add
dist.compression-profile
option to control compression speed - Create dirs for build_triple
- create
config::tests::detect_src_and_out
test for bootstrap - Prevent stable
libtest
from supporting-Zunstable-options
- [beta] backport
- Rename
config.toml.example
toconfig.example.toml
- add
enable-warnings
flag for llvm, and disable it by default. - bootstrap: document tidy
- only call git on git checkouts during bootstrap
- Add
internal_features
lint - Validate
ignore
andonly
compiletest directive, and add human-readable ignore reasons - Set
LIBC_CHECK_CFG=1
when building Rust code in bootstrap - Force to use the stage 2 compiler when config.download_rustc is set
- Add a
sysroot
crate to represent the standard library crates - Bump bootstrap compiler to 1.69 beta
- Update host compiler to LLVM 16
- move personality to sys
- Add OpenHarmony targets
- x fmt: Don't print all modified files if there's more than 10
- Make
x test tidy
less noisy - x fmt: Only check modified files locally
- Speed up tidy quite a lot
- On nightly, dump ICE backtraces to disk
- [beta] stage0 bump and backports
- Update cargo
- Include executed tests in the build metrics (and use a custom test display impl)
- Allow setting hashmap toml values in
./configure
- Use dynamic dispatch for queries
- Omit unchanged options from config.toml in
configure.py
- More config.toml.example cleanups
- Remove the option to disable
llvm-version-check
- Rename
src/etc/vscode_settings.json
torust_analyzer_settings.json
- Sync codegen defaults with compiler defaults and add a ping message so they stay in sync
- Remove
llvm.skip-rebuild
option - Don't use fd-lock on Solaris in bootstrap
- Add a new config flag, dist.include-mingw-linker.
- Fix
x clean
with specific paths - Import rust-installer & adjust compression settings
- move pal cfgs in f32 and f64 to sys
- bootstrap: Update the output of the
check
descriptions - support
x fmt
for sub and outside of rust directories - Make
x doc --open
work on every book - Allow building serde and serde_derive in parallel
- Revert #107834
- fix
build --stage 2 compiler/rustc
panic - no-fail-fast support for tool testsuites
- Distribute libntdll.a with windows-gnu toolchains
- [107049] Recognise top level keys in config.toml.example
- Download rustfmt regardless of rustc being set in config.toml
- Change src/etc/vscode_settings.json to always treat ./library as the sysroot source
- Improve building compiler artifacts output
- Add
ConstParamTy
trait - [beta] backport
- make x look for x.py if shell script does not exist
- Copy
bin/*
andlib/*.dylib
files tostage0-sysroot
- Allow shortcuts to directories to be used for ./x.py fmt
- Pass arguments to
x
subcommands with--
- Update LLVM submodule
- create symlink only for non-windows operating systems
- Emit JSON output for the building of bootstrap itself
- Split
x setup
sub-actions to CLI arguments - Patch
build/rustfmt/lib/*.so
for NixOS - Handled snap curl issue inside Rust
- create symlink for legacy rustfmt path
- Set
rust-analyzer.check.invocationLocation
toroot
- bootstrap.py: fix build-failure message
- x.py fails all downloads that use a tempdir with snap curl #107722
- Allow automatically creating vscode
settings.json
withx setup
- Release 1.67.1
- Apply BOLT optimizations without rebuilding LLVM
- Run
expand-yaml-anchors
inx test tidy
- Add only modified subcommand for compiletest
- Bump rust-installer
- [WIP] Build
rustc
with a single CGU on x64 Linux - Fix
x fix
on the standard library itself - Add a linker argument back to boostrap.py
- Update the minimum external LLVM to 14
- Small bootstrap improvements
- When stamp doesn't exist, should say Error, and print path to stamp file
- Gracefully exit if --keep-stage flag is used on a clean source tree
- Fix wording from
rustbuild
tobootstrap
- Bump bootstrap compiler to 1.68
- Add option to include private items in library docs
- Add
rust.lto=off
to bootstrap and set as compiler/library default - Bring tests back into rustc source tarball
- Add T-bootstrap label to tools
- Revisit fix_is_ci_llvm_available logic
- Upgrade to LLVM 16
- io: soften ‘at most one write attempt’ requirement in io::Write::write
- [beta] backport
- Enable sanitizers for s390x-linux
- consolidate bootstrap docs
- Print PID holding bootstrap build lock on Linux
- bootstrap: cleanup the list of extra check cfgs
- [beta] backport rollup
- Re-enable building rust-analyzer on riscv64
- Implement jump threading MIR opt
- Add offset_of! macro (RFC 3308)
- Make stage2 rustdoc and proc-macro-srv disableable in x.py install
- Update cc to 1.0.77
- Revert "warn newer available version of the x tool"
- remove unreachable error code
E0490
- make error emitted on
impl &Trait
nicer - Remove duplicate sha-1 dependency
- Switch to
EarlyBinder
forconst_param_default
andimpl_trait_ref
queries - [nightly] Fix CVE-2022-46176
- [beta] Fix CVE-2022-46176
- [stable] Prepare Rust 1.66.1 and fix CVE-2022-46176
- Fix aarch64-unknown-linux-gnu_ilp32 target
- enable
rust_2018_idioms
lint group for doctests - Fix unset e_flags in ELF files generated for AVR targets
- migrate compiler, bootstrap and compiletest to windows-rs
- Update mdbook
- Add sanitizer support for modern iOS platforms
- tidy: Don't include wasm32 in compiler dependency check
- Move src/test to the root
- Adjust comments about pre-push.sh hook
- Add vendor to Fuchsia's target triple
- Permit the MIR inliner to inline diverging functions
- Handle non-existent upstream master branches in
x fmt
- Allow passing a specific date to
bump-stage0
- Revert "bootstrap: Get rid of
tail_args
instream_cargo
" - Jsondoclint: Add
--verbose
and--json-output
options - Fix tidy unittest.
- Update cargo
- Add JSON output to -Zdump-mono-stats
- Create "suggested tests" tool in
rustbuild
- Pass
branch.{branch}.remote=origin
togit submodule update
- Add Minimal Std implementation for UEFI
- Test that the compiler/library builds with validate-mir
- Ndk update redux
- Only include metadata for non-dynamic libraries in rustc-dev
- Add deployment-target --print flag for Apple targets
- Use
ThinVec
more in the AST - Ensure
lld
is supported withdownload-ci-llvm
- Update
rand
in the stdlib tests, and remove thegetrandom
feature from it. - Add log-backtrace option to show backtraces along with logging
- warn newer available version of the x tool
- Migrate
codegen_ssa
to diagnostics structs - [Part 3] - Add more license annotations
- Don't drain-on-drop in DrainFilter impls of various collections.
- Raise minimum supported Apple OS versions
- Add initial libstd support for Xous
- Don't normalize in AstConv
- Remove save-analysis.
- Fix implied outlives bounds logic for projections
- Stabilize const_ptr_read
- Initial support for loongarch64-unknown-linux-gnu
- socket ancillary data implementation for FreeBSD (from 13 and above).
- Distribute cg_clif as rustup component on the nightly channel
Please note that the rollups are not considered in the Pull Request statistics.
Most Notable Pull Requests Merged This Year Related to Bootstrap:
- Add
dist.compression-profile
option to control compression speed - Add
libLLVM.so
to the target libdir when download-rustc is enabled - Add
rust.lto=off
to bootstrap and set as compiler/library default - add bootstrap flag --skip-stage0-validation
- add safe compilation options
- add sanity checks for user write access on
x install
- Add tests for configure.py
- allow LTO on proc-macro crates with
-Zdylib-lto
- Always set
RUSTC_BOOTSTRAP
withx doc
- Always use
os-release
rather than/lib
to detectNixOS
(bootstrap) - Apply BOLT optimizations without rebuilding LLVM
- Avoid one
rustc
rebuild in the optimized build pipeline - Avoid unnecessary builds/rebuilds of
rust-demangler
- bootstrap major change detection implementation
- bootstrap: cleanup the list of extra check cfgs
- bootstrap: Disallow
--exclude test::std
- bootstrap: Don't override
debuginfo-level = 1
to meanline-tables-only
- bootstrap: simplify setting unstable-options for tools
- bootstrap: Unify test argument handling
- bootstrap: Update the output of the
check
descriptions - bootstrap: use same make flags with rustdoc
- bootstrap: Various Step refactors
- Centralize command running in boostrap (part one)
- check config file before prompts on
x setup
- clean stage-specific artifacts using x clean --stage
- Copy stage0
rustc
binaries tostage0-sysroot
- coverage: Anonymize line numbers in
run-coverage
test snapshots - coverage: Explicitly test the coverage maps produced by codegen/LLVM
- coverage: Rename the run-coverage test mode to coverage-run
- coverage: Unify
tests/coverage-map
andtests/run-coverage
intotests/coverage
- Deny having src/test exisiting in tidy
- don't build
rust-analyzer-proc-macro-srv
on def config - Don't compile rustc to self-test compiletest
- Don't pass --test-args to python -m unitest
- dump bootstrap shims
- enable parallel rustc front end in nightly builds
- enable rust_2018_idioms lint group for doctests
- Ensure
lld
is supported withdownload-ci-llvm
- Generalize LLD usage in bootstrap
- Generate docs for bootstrap itself
- Generate shell completions for bootstrap with Clap
- Greatly decrease the size of
rustc_driver.so
when debuginfo is enabled - Import rust-installer & adjust compression settings
- Improve android-ndk property interface
- improve container runner script
- Improve startup time of bootstrap
- Include executed tests in the build metrics (and use a custom test display impl)
- Make
nodejs
control the default for RustdocJs tests instead of a hard-off switch - Make Rust Analyzer tests faster by compiling less code
- Make the x tool use the x and x.ps1 scripts
- Migrate bootstrap to Clap-based argument parsing
- Move BOLT from
bootstrap
toopt-dist
- new tool rustdoc-gui-test
- Optimize librustc_driver.so with BOLT
- Parallelize initial Rust download in bootstrap
- Pass
--locked
to the x test tidy call - Pass arguments to
x
subcommands with--
- Port PGO/LTO/BOLT optimized build pipeline to Rust
- Prepare the
bootstrap
tool for the new check-cfg syntax - Recompile LLVM when it changes in the git sources
- Remap Cargo dependencies to /rust/deps
- Remove
llvm.skip-rebuild
option - remove hex dependency in bootstrap
- Remove unused bootstrap config option
- Remove usage of deprecated
missing-tools
bootstrap flag - reorganize/refactor bootstrap codebase
- Replace any existing
build/host
symlink - Respect CARGOFLAGS in bootstrap.py
- Run tests on PGO/LTO/BOLT optimized dist artifacts
- Set
channel = nightly
in dist profile - Set LIBC_CHECK_CFG=1 when building Rust code in bootstrap
- ship tools with sysroot
- Simplify bootstrap
--check-cfg
arguments - skip {tidy,compiletest,rustdoc-gui} based tests for
DocTests::Only
- solaris support on bootstrap lock
- Speed up tidy quite a lot
- speed up x clean
- Stop normalizing so many different prefixes
- Strip unexpected debuginfo from
libLLVM.so
andlibrustc_driver.so
when not requesting any debuginfo - Support
x test --stage 1 ui-fulldeps
- Test the cargo args generated by bootstrap.py
- tidy: Issue an error when UI test limits are too high
- Update to LLVM 17
- Use
free-args
consistently in bootstrap - utilize stdlib debug assertion status in compiletest
- utilize the unused llvm-tools option
- windows: kill rust-analyzer-proc-macro-srv before deleting stage0 directory
Primary Goals for 2024
Plans for Bootstrap Team in 2024 will be designed (but not limited) around the topics outlined below.
Refactor Standard Library Bootstrapping
As part of compiler-team/issues/619: Redesign bootstrap stages proposal, we have a plan to utilize the beta standard library on stage0 instead of compiling it from the current source using the beta compiler. Standard library should only be built from current source in case where stage is not 0.
Migration of Python Scripts to Rust
Removing Python scripts from bootstrap and relying entirely on Rust. For additional context, please refer to rust-lang/rust/issues/94829.
Custom Target Runners
Support of CARGO_TARGET_
_RUNNER from Cargo on bootstrap tests which should improve the experience of cross-platform tests. For additional context, please refer to rust-lang/rust/issues/110537.Support for Building and Testing the Standard Library with
panic=abort
Improving bootstrap capability on standard library with
panic=abort
by providing an interface that allows users to build or test the standard library with their preferred panic strategy. For additional context, please refer to rust-lang/rust/issues/84766.Feature Gating
Developing a mechanism to manage all bootstrap features through a single interface from the build configuration. For additional context, please refer to rust-lang/rust/issues/102600.
Configuration Layer
Currently, we don't have an interface for enabling different configurations for each stage. Until now, we have been implementing temporary solutions and workarounds (such as adding stage-based environment variables) when there was a need to modify options on specific stages. We will be enhancing the configuration layer with the support of stage-based options. For additional context, please refer to rust-lang/rust/issues/112679.
Increasing Test Coverage
Expanding the test coverage for bootstrapping, reducing the team concerns on code-review and development.