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 clippykeeps nix-patching binaries- set
--change-idin 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_allfound for structFilein the current scope - give a better error when
origin/HEADis 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_middleerrors with a stability error- Some tests are incorrectly skipped for macOS CI
- Suggestion: Cache
x --helpso 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-optionson "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 installattempts 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.tomldoes 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
--failedflag forx test- Cannot build Rust 1.71.1 with 1.71.0
- Bootstrap regression in 1.71.0
x.py fmtcounts untracked files as formatted?./x.py testpanics- 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 distfails inrust 1.71.0onlint-docs- bootstrap.py does not support
--set - Require (and potentially enforce) attribute-style
// issue:12345comments in issue-related tests - bootstrap: sanity check install prefix and sysconfdir
- bootstrap: consider filtering
compilerin thegit logcommand for download-rustc - Suggest
x build libraryfor a custom toolchain that fails to loadcore - bootstrap: --fail-fast doesn't work anymore
- bootstrap:
rustc-argsis only passed to compiletest, not unit tests clippy-driver +stage1doesn'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 '
rustcnot found in /scratch/rustc/build/sparcv9/build/bootstrap/debug/deps, runcargo build --binsbeforecargo run', lib.rs:415:13 - bootstrap: Make
rustoptions 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 --openno longer opens any documentation- liballoc built with
-Csplit-debuginfo=unpackeddespite not being supported on riscv32imc-unknown-none-elf - ./x.py check broken with vendored dependencies
- Vendoring broken with stable rustc
x checkchecks 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 = usertoprofile = dist - We are not running std tests for wasm
- bootstrap: make
--excludeconsistent with--skipin 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 initthe tree. rustcfails 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-nonetarget produced if theCC_aarch64_unknown_noneenv 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 installin CI - rustbuild: x.py install:
error: manifest path .. cargo/crates/credential/cargo-credential-1password/Cargo.tomldoes not exist` x buildlives 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-musldoes 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-devdoesn't match the LLVM we ship in therustccomponent x setupno longer goes through all setup steps before checking if config.toml existsdownload-rustcshould support a cross-compiledhostx test tests/run-make/translationfails when download-rustc is enabledx test src/tools/rust-analyzerfails when download-rustc is enabledx test src/tools/lint-docsfails when download-rustc is enabledx test corefails when download-rustc is enabled- Cross-compiling
rustcwith LTO enabled results in error build-passtests intests/ui-fulldepsfail when cross-compiling and download-rustc is enabledrun-passtests 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-srcdist component" is confusing - E0460 long description is too optimistic about cargo's abilities
./configureshould not silently overwrite an existing config.toml- Miri UI tests aren't run on CI (or locally)
- Add a new
download-ci-llvm = if-unchangedoption 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-gittoomit-git-hash - Run tests via miri for compiler crates that use
unsafe - LLVM submodule isn't checked out when building
riscv64gc-unknown-linux-musltarget - 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.pytries to rebuild bootstrap rust.codegen-backendsinteracts 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 ./configuredoesn't support listscodegen-backends = ["rustc_codegen_cranelift"]should give a better error messagex test rustc_interface --stage 0is broken againx clean --stage 1silently does the wrong thing- bootstrap: consider lowering / skipping compression when
x.py installing 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-toolsif 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 --verboseon mingw - compiletest overwrites PYTHONPATH
x test --stage 2 stduses the wrong stage when download-rustc is enabledtests/ui/allocator/no_std-alloc-error-handler*fail whendownload-rustcis enabled- Dogfood CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse in bootstrap
- Get rid of
llvm.allow-old-toolchainoption ./configuredoesn'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/stdfails with an unexpected argument error- thread 'rustc' panicked at 'expected expression', compiler/rustc_expand/src/base.rs:176:18
x.py testignores--no-fail-fastin some tool testsuites.- Rename
src/bootstrap/native.rstollvm.rs - rustfmt breaks when
rustcis set inconfig.toml x dist --stage 0does not check out submodules automatically- Improve "Building compiler artifacts" output
- support
x fmtfor sub and outside of rust directories - Run Miri on tests (ui? stdlib? vote now on your phones)
.\x fmt stdpanicssrc/tools/xdoesn't work on old checkouts of the compilerx check --json-outputdoesn't use JSON output for building bootstrap itself- Bootstrap no longer prints "Build completed unsuccessfully when it exits with an error
rust-docsandrustc-docscomponents conflict atshare/doc/rust/html/rustc- x.py fails all downloads that use a tempdir with snap curl
- Create
.vscodedirectory 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-llvmon old checkout - x.py fix is broken
- rustbuild: x.py dist should interleave tool builds
- Confusing error message when using
--keep-stage-stdafter cleaning - bootstrap: Support
--as an alternative to--argsand--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=offto bootstrap for faster dev builds rustdoc --version --verboseno longer displays commit hashes + date since beta 1.67- "build directory locked" should say which process is holding the lock
./configureshould setprofile = "user"by default./configure --set changelog-seen=2doesn'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 fmtis extremely noisy- Document tidy and bootstrap
- x.py fails with custom Git remote name
- tidy tries to run unrelated
xbinary tidyoutput 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_allfound for structFilein 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_middleerrors with a stability error- Suggestion: Cache
x --helpso 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-optionson "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.tomldoes not exist --failedflag forx test- Cannot build Rust 1.71.1 with 1.71.0
x.py fmtcounts untracked files as formatted?./x.py testpanics- x test error_index_generator triggers 'nested groups are not supported by GHA' check
- bootstrap PGO artifact copies broken
./x.py distfails inrust 1.71.0onlint-docs- bootstrap: sanity check install prefix and sysconfdir
- Suggest
x build libraryfor a custom toolchain that fails to loadcore - bootstrap: --fail-fast doesn't work anymore
- bootstrap:
rustc-argsis 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 --openno longer opens any documentation- ./x.py check broken with vendored dependencies
x checkchecks 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 = usertoprofile = dist - bootstrap: make
--excludeconsistent with--skipin 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.tomldoes 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-devdoesn't match the LLVM we ship in therustccomponent x setupno longer goes through all setup steps before checking if config.toml existsx test tests/run-make/translationfails when download-rustc is enabledx test src/tools/rust-analyzerfails when download-rustc is enabledx test src/tools/lint-docsfails when download-rustc is enabledx test corefails when download-rustc is enabled- Cross-compiling
rustcwith LTO enabled results in error build-passtests intests/ui-fulldepsfail when cross-compiling and download-rustc is enabledrun-passtests intests/ui-fulldeps/fall when download-rustc is enabled./configureshould not silently overwrite an existing config.toml- Miri UI tests aren't run on CI (or locally)
- Add a new
download-ci-llvm = if-unchangedoption and enable it by default forprofile = codegen - Confusing diagnostics for unstable features when building Rust with stable rustc
- Rename
ignore-gittoomit-git-hash - LLVM submodule isn't checked out when building
riscv64gc-unknown-linux-musltarget - bootstrap: build locking doesn't work any more
rust.codegen-backendsinteracts confusingly with paths- Rust build failure on Solaris SPARC - error[E0093]: unrecognized intrinsic function:
read_via_copy - Allow passing the --nocapture flag to compiletest
./configuredoesn't support listscodegen-backends = ["rustc_codegen_cranelift"]should give a better error messagex test rustc_interface --stage 0is broken againx clean --stage 1silently 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-toolsif using external llvm - ./configure still doesn't work on top-level keys
- compiletest overwrites PYTHONPATH
x test --stage 2 stduses the wrong stage when download-rustc is enabledtests/ui/allocator/no_std-alloc-error-handler*fail whendownload-rustcis enabled- Dogfood CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse in bootstrap
- Get rid of
llvm.allow-old-toolchainoption ./configuredoesn'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/stdfails with an unexpected argument error- thread 'rustc' panicked at 'expected expression', compiler/rustc_expand/src/base.rs:176:18
x.py testignores--no-fail-fastin some tool testsuites.- Rename
src/bootstrap/native.rstollvm.rs - rustfmt breaks when
rustcis set inconfig.toml x dist --stage 0does not check out submodules automatically- Improve "Building compiler artifacts" output
- support
x fmtfor sub and outside of rust directories .\x fmt stdpanicssrc/tools/xdoesn't work on old checkouts of the compilerx check --json-outputdoesn't use JSON output for building bootstrap itself- Bootstrap no longer prints "Build completed unsuccessfully when it exits with an error
rust-docsandrustc-docscomponents conflict atshare/doc/rust/html/rustc- x.py fails all downloads that use a tempdir with snap curl
- Create
.vscodedirectory 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-llvmon old checkout - x.py fix is broken
- Confusing error message when using
--keep-stage-stdafter cleaning - bootstrap: Support
--as an alternative to--argsand--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=offto bootstrap for faster dev builds rustdoc --version --verboseno longer displays commit hashes + date since beta 1.67- "build directory locked" should say which process is holding the lock
./configureshould setprofile = "user"by default./configure --set changelog-seen=2doesn'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 fmtis extremely noisy- Document tidy and bootstrap
- x.py fails with custom Git remote name
- tidy tries to run unrelated
xbinary - 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 --versionto 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.pysubmodule handling breaks when tracking upstream asupstream- rust-analyzer doesn't work on bootstrap anymore
- Build fails with
-Csplit-debuginfois unstable on this platform - Building with lld and download-ci-llvm
x build src/tools/miridoesn'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 -vshould work- Fix
x.py clippyto 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.pypanics 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 fmtand other tools don't work for a linked toolchain.- Unresolved LLVM symbols when linking rustc_driver.
./x.py fmtuses incorrect rustfmt with download-ci-llvm=true and custom rustc (not stage0/beta)- Add a new cygwin target
- Remove
missing_toolsconfig - 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 warndoesn'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 foodoes 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-argshas no effect for cargo tests - Running target llvm-config on host
incremental = trueas 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 testoutput 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 testdeletesrustc_privateartifacts 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 buildfails 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-cfgarguments - [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-toolsoption - Remove usage of deprecated
missing-toolsbootstrap 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
//~ERRORannotations with--error-formattoerror-pattern - Update sysinfo version to 0.30.0
- [DO NOT MERGE] experiment CI with doctest-xcompile
- don't build
rust-analyzer-proc-macro-srvon def config - Comment out
change-idinconfig.example.toml - Separate MIR lints from validation
- Rearrange
config.codegen.tomlto 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
hexdependency in bootstrap - [perf experiment] (crudely) implement MIR-only rlibs
- force current stage when
--stageis expilicitly used - Delegation implementation: step 1
- fix
x cleanfor cross-compiled artifacts - update
measuremeto 10.1.2 to deduplicateparking_lot -Ztrait-solver=nextto-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-treefeature 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 installby 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
xnot to quit afterxprintssettings.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::OnceCellwith stdOnceLock - Enable address sanitizer for MSVC targets using INFERASANLIBS linker flag
- Move some methods from
tcx.hir()totcx - Add unstable
-Zdefault-hidden-visibilitycmdline 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_fieldsintodead_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
featurefrom 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=1during builds whenomit-git-hashis 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-availablevalue 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-coveragetest 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 mutand addingstatic_mut_reflint - 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-mapandtests/run-coverageintotests/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
Hashinrustc_type_ir - Use derivative for
PartialOrd/Ordinrustc_type_ir - [dont commit] Use derivative for
PartialEq/Eqinrustc_type_ir - Use derivative for
Clone/PartialOrd/Ord/Hashinrustc_type_ir - improve and fix
x install - Add support for mipsel-unknown-netbsd, 32-bit LE mips.
- Old master
- coverage: Harmonize the
coverage-mapandrun-coveragetest directories - Remove asmjs
- pass
CODEGEN_BACKENDSto 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
unwindingcrate 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
bootstraptool 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-unchangedoption 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
SAFETYblock on the usage of unsafegetuid - Sync rustc_codegen_cranelift
- Cleanup
rustc_featuressome more - Add RUSTFLAGS_BOOTSTRAP to RUSTFLAGS for bootstrap compilation
- linker: Remove
-Zgcc-ldoption - Miri subtree update
- Use tidy to enforce alphabetical dependency ordering
- Replace unsafe getuid with nix impl of Uid
- Pass flags to
rustdocshim 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.sowith BOLT - ensure the parent path's existence on
x install - Stop mentioning internal lang items in no_std binary errors
- Turn
cfg_matchinto 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
lldbinary - reorganize/refactor bootstrap codebase
- Update cargo
- WIP: bootstrap: remove use-lld
- quote argument to sh -n
- :arrow_up:
rust-analyzer - ref(bootstrap.py): add
eprintfunction - add sanity checks for user write access on
x install - Pass
-jNfrom 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=1with-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-nixin configure.py - Pr 96475 ci test
- update
build.extendedcomments 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
curlexecutions - [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_CONSTSgeneralization - 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
objectcrate to load bitcode sections - Generalize Coverage Expression simplification
- tests: re-enable pretty-std-collections on macOS
- Limit
-C stripon MSVC - Detect and report nix shell
- compile rust-anaylzer with
x checkif 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-releaserather than/libto detectNixOS(bootstrap) - Fix Step Skipping Caused by Using the
--excludeOption - 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-coveragetest snapshots - coverage: Explicitly test the coverage maps produced by codegen/LLVM
- Enable constant folding across crates (weak linkage + comdat)
- Adds a
--failedflag 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
f16andf128 - 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_featureslint 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_gccwith 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.soandlibrustc_driver.sowhen not requesting any debuginfo - Update x64 Linux host compiler to LLVM 17
- Prepare Rust 1.71.1
- better error handling for
rust.codegen-backendson 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
EmitterWriterinternals - Dont pass
-Zwrite-long-types-to-disk=noforui-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_BOOTSTRAPto 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_apfloatwith 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-identicalmode fordownload-ci-llvm - Respect
prefixwhensysconfdirisn't set in config.toml - Remove unused
bootstrap::util::CiEnvenum - 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
FIXMEs 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
nodejscontrol 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
bootstraptoopt-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
rustcwith (Thin)LTO on Windows - reduce deps for windows-msvc targets for backtrace
- Add
x86_64-unikraft-linux-musltarget - (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
Unsizefor better coercion behavior - Copy stage0
rustcbinaries 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_runreturns an error - Fix loading target specs in compiletest not working with custom targets
- compiletest: Only trim the end of process output
- Set
channel = nightlyin 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-makeV2 infrastructure, arun_make_supportlibrary 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.jsonto the correct filename - bootstrap: update defaults for
compilerandlibraryaliases - [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_existsinconfigure.py& delete config.toml in CI hir: AddBecomeexpression 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-opttests 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 --explainoutput - Sync rustc_codegen_cranelift
- Test
x.ps1inmsvcCI job - cleanup azure leftovers
- Implement explicit tail calls
- CI: merge
mingwtest CI jobs - CI: merge
msvctest 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 = 1to meanline-tables-only - Dummy PR to test coverage test changes in CI
- Fix python linting errors
- Update documentation for
toolsdefaults - 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--blessfor it - download-rustc: Fix
x test coreon 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-reportstests 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
rustcwith 1CGU onx86_64-pc-windows-msvc - Don't compile rustc to self-test compiletest
- rust-lld: add rpath entry to the correct
libfolder - [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
--libtox doc - Erase regions even if normalization fails in writeback (in new solver)
- Print the full arguments passed to
./configurein 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 warnflag 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/discrimdir - [do not merge] CI experiments
- Bump to 1.72.0
- Avoid one
rustcrebuild in the optimized build pipeline - Add support for LLVM SafeStack
- Add other workspaces to
linkedProjectsin 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 docless verbose - Generate docs for bootstrap itself
- Stop normalizing so many different prefixes
- bootstrap: Make
cleanrespectdry-run - bootstrap: Various Step refactors
- Include test suite metadata in the build metrics
- [experiment] Enable debug-logging by default
- make
noop_method_callwarn 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
BasicBlockandLocalnumbering - Unset MIRI_BLESS for mir-opt-level 4 miri tests
- Use CS PGO for LLVM
- Make
x test --dry-runless verbose - Diagnostic namespace
- Fix linkage for large binaries on mips64 platforms
- add
--remote-timeflag 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
ccforbootstrap - 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
ccwhen 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
rpathoption for each target independently - Use
free-argsconsistently 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
FIXMEinbootstrap::download - Make x.py work again in most (all?) cases
- Wrap all of
x.pyinif __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
rustcversion 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 corewhen 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 fmtformatting 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-wasitowasm32-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 linkcheckerwhen 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-stampfor 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
gixinbootstrap - ship tools with sysroot
- Fix
x test rust-installerwhencargois 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.soto the target libdir when download-rustc is enabled - fix: use
--retry-connrefusedin curl invocations of bootstrap download - Remove some unneeded imports / qualified paths
- tidy: Issue an error when UI test limits are too high
- Fix
--extend-cssoption - 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.sowhen 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 sysfor 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 1when 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
nodeisn't installed - Fix
x test ui --target foowhen 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.tomldownload 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_statusoption 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-stackwhen 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_refto rustc - bootstrap: replace
attywithis-terminal, dedupe deps - Replace any existing
build/hostsymlink - 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_BOOTSTRAPwithx 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
forceoption for--externflag - Rename 'src/bootstrap/native.rs' to llvm.rs
- Set LLVM
LLVM_UNREACHABLE_OPTIMIZEtoOFF - [stable] 1.68.1 release
- Revert "Auto merge of #107224 - nikic:llvm-16, r=cuviper"
- refactor
fn bootstrap::builder::Builder::compiler_forlogic - 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_NAMEfor Linux targets - extend
detect_src_and_outtest - #108240 Rename 'src/bootstrap/native.rs' to llvm.rs
- Make cargo a workspace
- Add
dist.compression-profileoption to control compression speed - Create dirs for build_triple
- create
config::tests::detect_src_and_outtest for bootstrap - Prevent stable
libtestfrom supporting-Zunstable-options - [beta] backport
- Rename
config.toml.exampletoconfig.example.toml - add
enable-warningsflag for llvm, and disable it by default. - bootstrap: document tidy
- only call git on git checkouts during bootstrap
- Add
internal_featureslint - Validate
ignoreandonlycompiletest directive, and add human-readable ignore reasons - Set
LIBC_CHECK_CFG=1when building Rust code in bootstrap - Decouple
testandproc_macro - Force to use the stage 2 compiler when config.download_rustc is set
- Add a
sysrootcrate 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 tidyless 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.jsontorust_analyzer_settings.json - Sync codegen defaults with compiler defaults and add a ping message so they stay in sync
- Remove
llvm.skip-rebuildoption - Don't use fd-lock on Solaris in bootstrap
- Add a new config flag, dist.include-mingw-linker.
- Fix
x cleanwith 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
checkdescriptions - support
x fmtfor sub and outside of rust directories - Make
x doc --openwork 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/*.dylibfiles tostage0-sysroot" - Revert #107834
- fix
build --stage 2 compiler/rustcpanic - Revert "Copy
bin/*andlib/*.dylibfiles 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
ConstParamTytrait - Rollup of 3 pull requests
- Respect config.lld_enabled when building windows-gnu.
- Split
x setupsub-actions to CLI arguments (Clap edition) - Display pid of process holding lock
- Migrate
xto usingclap - [beta] backport
- Intern
SimplifyCfginto enum variants - make x look for x.py if shell script does not exist
- Copy
bin/*andlib/*.dylibfiles tostage0-sysroot - Allow shortcuts to directories to be used for ./x.py fmt
- Pass arguments to
xsubcommands 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
hostparameter in./x.py test --host='' - Split
x setupsub-actions to CLI arguments - Patch
build/rustfmt/lib/*.sofor 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.invocationLocationtoroot - 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.jsonwithx setup - Release 1.67.1
- Apply BOLT optimizations without rebuilding LLVM
- Run
expand-yaml-anchorsinx test tidy - Enable frame pointers on all targets except x86.
- Add only modified subcommand for compiletest
- Bump rust-installer
- [WIP] Build
rustcwith a single CGU on x64 Linux - Build only X86 architecture for all temporary LLVM builds in Linux x64
distbuilder - Make
x clippydownload and use beta clippy - Fix
x fixon 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
rustbuildtobootstrap - Bump bootstrap compiler to 1.68
- Add option to include private items in library docs
- Add
rust.lto=offto 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_compilermode - 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 &Traitnicer - Remove duplicate sha-1 dependency
- fix(x): grammar
- Switch to
EarlyBinderforconst_param_defaultandimpl_trait_refqueries - [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_idiomslint 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_argsinstream_cargo" - Jsondoclint: Add
--verboseand--json-outputoptions
714 pull requests were merged
- Simplify bootstrap
--check-cfgarguments - solaris support on bootstrap lock
- utilize the unused
llvm-toolsoption - Remove usage of deprecated
missing-toolsbootstrap 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-srvon def config - Comment out
change-idinconfig.example.toml - Separate MIR lints from validation
- remove
hexdependency in bootstrap - fix
x cleanfor cross-compiled artifacts - update
measuremeto 10.1.2 to deduplicateparking_lot -Ztrait-solver=nextto-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
xnot to quit afterxprintssettings.json - use c literals in compiler and library
- update hashbrown
- move packed-struct tests into packed/ folder
- replace
once_cell::sync::OnceCellwith stdOnceLock - Move some methods from
tcx.hir()totcx - Add unstable
-Zdefault-hidden-visibilitycmdline 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
featurefrom 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=1during builds whenomit-git-hashis enabled - bootstrap: simplify setting unstable-options for tools
- [beta] 1.75.0 promotion
- improve bootstrap change-tracking system
- deprecate
if-availablevalue 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-coveragetest 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-mapandtests/run-coverageintotests/coverage - bootstrap: do not purge docs on CI environment
- enable parallel rustc front end in nightly builds
- Use derivative for
Clone/PartialOrd/Ord/Hashinrustc_type_ir - improve and fix
x install - Add support for mipsel-unknown-netbsd, 32-bit LE mips.
- Remove asmjs
- pass
CODEGEN_BACKENDSto 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
unwindingcrate 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
bootstraptool 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-unchangedoption 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
SAFETYblock on the usage of unsafegetuid - Sync rustc_codegen_cranelift
- Cleanup
rustc_featuressome more - Add RUSTFLAGS_BOOTSTRAP to RUSTFLAGS for bootstrap compilation
- linker: Remove
-Zgcc-ldoption - Miri subtree update
- Use tidy to enforce alphabetical dependency ordering
- Pass flags to
rustdocshim 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.sowith 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
eprintfunction - add sanity checks for user write access on
x install - Pass
-jNfrom 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=1with-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-nixin configure.py - update
build.extendedcomments 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
curlexecutions - 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 checkif 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-releaserather than/libto detectNixOS(bootstrap) - Fix Step Skipping Caused by Using the
--excludeOption - 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-coveragetest 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_featureslint 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_gccwith 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.soandlibrustc_driver.sowhen not requesting any debuginfo - Update x64 Linux host compiler to LLVM 17
- Prepare Rust 1.71.1
- better error handling for
rust.codegen-backendson 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
EmitterWriterinternals - Dont pass
-Zwrite-long-types-to-disk=noforui-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_BOOTSTRAPto rust-analyzer config - new unstable option: -Zwrite-long-types-to-disk
- Replace in-tree
rustc_apfloatwith the new version of the crate - Tests crash from inappropriate use of common linkage
- Avoid another gha group nesting
- Remove unused
bootstrap::util::CiEnvenum - 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
FIXMEs 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
nodejscontrol 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
bootstraptoopt-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-musltarget - 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
Unsizefor better coercion behavior - Copy stage0
rustcbinaries 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_runreturns an error - Fix loading target specs in compiletest not working with custom targets
- compiletest: Only trim the end of process output
- Set
channel = nightlyin 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.jsonto the correct filename - bootstrap: update defaults for
compilerandlibraryaliases - 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_existsinconfigure.py& delete config.toml in CI hir: AddBecomeexpression 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-opttests 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 --explainoutput - Sync rustc_codegen_cranelift
- Test
x.ps1inmsvcCI job - cleanup azure leftovers
- CI: merge
mingwtest CI jobs - CI: merge
msvctest CI jobs - Update cargo
- rustdoc-gui: allow running on Windows
- implement stdout streaming in
render_tests::Renderer - bootstrap: Don't override
debuginfo-level = 1to meanline-tables-only - Fix python linting errors
- Update documentation for
toolsdefaults - 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--blessfor it - download-rustc: Fix
x test coreon 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-reportstests 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
libfolder - [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
--libtox doc - Erase regions even if normalization fails in writeback (in new solver)
- Print the full arguments passed to
./configurein 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 warnflag tox.py - enhancements on build_helper utilization and rustdoc-gui-test
- Group rfcs tests
- Move tests from
ui/discrimdir - Bump to 1.72.0
- Avoid one
rustcrebuild in the optimized build pipeline - Add support for LLVM SafeStack
- Add other workspaces to
linkedProjectsin rust_analyzer_settings - deps: bump crates
- Revert "Enable incremental independent of stage"
- Respect CARGOFLAGS in bootstrap.py
- Make errors from
x docless verbose - Generate docs for bootstrap itself
- Stop normalizing so many different prefixes
- bootstrap: Make
cleanrespectdry-run - bootstrap: Various Step refactors
- Include test suite metadata in the build metrics
- make
noop_method_callwarn 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
BasicBlockandLocalnumbering - Unset MIRI_BLESS for mir-opt-level 4 miri tests
- Make
x test --dry-runless verbose - Diagnostic namespace
- Fix linkage for large binaries on mips64 platforms
- add
--remote-timeflag 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
rpathoption for each target independently - Use
free-argsconsistently 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
FIXMEinbootstrap::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
rustcversion 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 corewhen 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 fmtformatting 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 linkcheckerwhen 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-stampfor 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-installerwhencargois 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.soto 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-cssoption - 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.sowhen 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 sysfor 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 1when 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
nodeisn't installed - Fix
x test ui --target foowhen download-rustc is enabled - Add renaming of ignore-git to changelog
- Fix a typo in
config.example.toml - Make the "codegen" profile of
config.tomldownload and build llvm from source. - ignore_git → omit_git_hash
- Pass host linker to compiletest.
- bump few deps
- add
dont_check_failure_statusoption 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-stackwhen 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
attywithis-terminal, dedupe deps - Replace any existing
build/hostsymlink - 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_BOOTSTRAPwithx 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
forceoption for--externflag - Rename 'src/bootstrap/native.rs' to llvm.rs
- Set LLVM
LLVM_UNREACHABLE_OPTIMIZEtoOFF - [stable] 1.68.1 release
- Revert "Auto merge of #107224 - nikic:llvm-16, r=cuviper"
- refactor
fn bootstrap::builder::Builder::compiler_forlogic - Add tests for configure.py
- Check for llvm-tools before install
- Set
CMAKE_SYSTEM_NAMEfor Linux targets - extend
detect_src_and_outtest - Make cargo a workspace
- Add
dist.compression-profileoption to control compression speed - Create dirs for build_triple
- create
config::tests::detect_src_and_outtest for bootstrap - Prevent stable
libtestfrom supporting-Zunstable-options - [beta] backport
- Rename
config.toml.exampletoconfig.example.toml - add
enable-warningsflag for llvm, and disable it by default. - bootstrap: document tidy
- only call git on git checkouts during bootstrap
- Add
internal_featureslint - Validate
ignoreandonlycompiletest directive, and add human-readable ignore reasons - Set
LIBC_CHECK_CFG=1when building Rust code in bootstrap - Force to use the stage 2 compiler when config.download_rustc is set
- Add a
sysrootcrate 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 tidyless 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.jsontorust_analyzer_settings.json - Sync codegen defaults with compiler defaults and add a ping message so they stay in sync
- Remove
llvm.skip-rebuildoption - Don't use fd-lock on Solaris in bootstrap
- Add a new config flag, dist.include-mingw-linker.
- Fix
x cleanwith specific paths - Import rust-installer & adjust compression settings
- move pal cfgs in f32 and f64 to sys
- bootstrap: Update the output of the
checkdescriptions - support
x fmtfor sub and outside of rust directories - Make
x doc --openwork on every book - Allow building serde and serde_derive in parallel
- Revert #107834
- fix
build --stage 2 compiler/rustcpanic - 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
ConstParamTytrait - [beta] backport
- make x look for x.py if shell script does not exist
- Copy
bin/*andlib/*.dylibfiles tostage0-sysroot - Allow shortcuts to directories to be used for ./x.py fmt
- Pass arguments to
xsubcommands with-- - Update LLVM submodule
- create symlink only for non-windows operating systems
- Emit JSON output for the building of bootstrap itself
- Split
x setupsub-actions to CLI arguments - Patch
build/rustfmt/lib/*.sofor NixOS - Handled snap curl issue inside Rust
- create symlink for legacy rustfmt path
- Set
rust-analyzer.check.invocationLocationtoroot - bootstrap.py: fix build-failure message
- x.py fails all downloads that use a tempdir with snap curl #107722
- Allow automatically creating vscode
settings.jsonwithx setup - Release 1.67.1
- Apply BOLT optimizations without rebuilding LLVM
- Run
expand-yaml-anchorsinx test tidy - Add only modified subcommand for compiletest
- Bump rust-installer
- [WIP] Build
rustcwith a single CGU on x64 Linux - Fix
x fixon 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
rustbuildtobootstrap - Bump bootstrap compiler to 1.68
- Add option to include private items in library docs
- Add
rust.lto=offto 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 &Traitnicer - Remove duplicate sha-1 dependency
- Switch to
EarlyBinderforconst_param_defaultandimpl_trait_refqueries - [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_idiomslint 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_argsinstream_cargo" - Jsondoclint: Add
--verboseand--json-outputoptions - Fix tidy unittest.
- Update cargo
- Add JSON output to -Zdump-mono-stats
- Create "suggested tests" tool in
rustbuild - Pass
branch.{branch}.remote=origintogit 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
ThinVecmore in the AST - Ensure
lldis supported withdownload-ci-llvm - Update
randin the stdlib tests, and remove thegetrandomfeature from it. - Add log-backtrace option to show backtraces along with logging
- warn newer available version of the x tool
- Migrate
codegen_ssato 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-profileoption to control compression speed - Add
libLLVM.soto the target libdir when download-rustc is enabled - Add
rust.lto=offto 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_BOOTSTRAPwithx doc - Always use
os-releaserather than/libto detectNixOS(bootstrap) - Apply BOLT optimizations without rebuilding LLVM
- Avoid one
rustcrebuild 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 = 1to meanline-tables-only - bootstrap: simplify setting unstable-options for tools
- bootstrap: Unify test argument handling
- bootstrap: Update the output of the
checkdescriptions - 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
rustcbinaries tostage0-sysroot - coverage: Anonymize line numbers in
run-coveragetest 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-mapandtests/run-coverageintotests/coverage - Deny having src/test exisiting in tidy
- don't build
rust-analyzer-proc-macro-srvon 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
lldis 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.sowhen 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
nodejscontrol 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
bootstraptoopt-dist - new tool rustdoc-gui-test
- Optimize librustc_driver.so with BOLT
- Parallelize initial Rust download in bootstrap
- Pass
--lockedto the x test tidy call - Pass arguments to
xsubcommands with-- - Port PGO/LTO/BOLT optimized build pipeline to Rust
- Prepare the
bootstraptool for the new check-cfg syntax - Recompile LLVM when it changes in the git sources
- Remap Cargo dependencies to /rust/deps
- Remove
llvm.skip-rebuildoption - remove hex dependency in bootstrap
- Remove unused bootstrap config option
- Remove usage of deprecated
missing-toolsbootstrap flag - reorganize/refactor bootstrap codebase
- Replace any existing
build/hostsymlink - Respect CARGOFLAGS in bootstrap.py
- Run tests on PGO/LTO/BOLT optimized dist artifacts
- Set
channel = nightlyin dist profile - Set LIBC_CHECK_CFG=1 when building Rust code in bootstrap
- ship tools with sysroot
- Simplify bootstrap
--check-cfgarguments - 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.soandlibrustc_driver.sowhen 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-argsconsistently 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=abortImproving bootstrap capability on standard library with
panic=abortby 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.