From 14026bf0b0b6f79bc1e8688a950235412fa814e7 Mon Sep 17 00:00:00 2001 From: xonx <119700621+xonx4l@users.noreply.github.com> Date: Wed, 21 Jan 2026 13:07:26 +0000 Subject: [PATCH 01/25] add docs for non defining vs defining uses --- .../rustc-dev-guide/src/solve/opaque-types.md | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/solve/opaque-types.md b/src/doc/rustc-dev-guide/src/solve/opaque-types.md index ac038e354f53f..60d5d489cb6ba 100644 --- a/src/doc/rustc-dev-guide/src/solve/opaque-types.md +++ b/src/doc/rustc-dev-guide/src/solve/opaque-types.md @@ -5,6 +5,39 @@ This should be a self-contained explanation of the behavior in the new solver. [opaque types]: ../opaque-types-type-alias-impl-trait.md +## Non-Defining vs Defining Uses + +The distinction between non-defining and defining uses determines the inference behavior and governs the strictness of the abstraction. A defining use reveals the underlying hidden type, while a non-defining use enforces rigidity, treating the type as an abstract placeholder. + +### Non-defining Use + +This concept is what makes an opaque type rigid. By treating the underlying type as unknown, the solver maintains abstraction. + +```rust +fn foo() -> impl Copy { + let x: u32 = 56; + x +} + +fn bar() { + let x = foo(); + // Even though we know 'foo' returns a u32.The solver enforces + // rigidity here and is a NON-DEFINING use. +} +``` + +### Defining Use + +This is where the opaque type is actually defined. A defining use tells the compiler exactly what the concrete type is behind the abstraction. + +```rust +fn foo() -> impl Copy { + let x: u32 = 56; + // The return value x defines the hidden type as u32 and is a DEFINING use. + x +} +``` + ## opaques are alias types Opaque types are treated the same as other aliases, most notabily associated types, From 8d57ec1f21c66c6070a5b0551a1b9f76799b32e1 Mon Sep 17 00:00:00 2001 From: Sidney Cammeresi Date: Tue, 5 May 2026 21:53:21 -0700 Subject: [PATCH 02/25] Fix name of first compiled stage, as stage0 is downloaded --- src/doc/rustc-dev-guide/src/stabilization-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/stabilization-guide.md b/src/doc/rustc-dev-guide/src/stabilization-guide.md index f159fad89596a..eb11a0e63fe13 100644 --- a/src/doc/rustc-dev-guide/src/stabilization-guide.md +++ b/src/doc/rustc-dev-guide/src/stabilization-guide.md @@ -89,7 +89,7 @@ Next, search for the feature string (in this case, `pub_restricted`) in the code Change uses of `#![feature(XXX)]` from the `std` and any rustc crates (which includes test folders under `library/` and `compiler/` but not the toplevel `tests/` one) to be `#![cfg_attr(bootstrap, feature(XXX))]`. -This includes the feature-gate only for stage0, which is built using the current beta (this is needed because the feature is still unstable in the current beta). +This includes the feature-gate only for stage1, which is built using the current beta (this is needed because the feature is still unstable in the current beta). Also, remove those strings from any tests (e.g. under `tests/`). If there are tests specifically targeting the feature-gate (i.e., testing that the feature-gate is required to use the feature, but nothing else), simply remove the test. From 7e14c4eecc62327e00f26c95522b309c3cfcda38 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Sat, 9 May 2026 23:55:05 -0400 Subject: [PATCH 03/25] fix -s to -S in llvm tooling instructiongs --- src/doc/rustc-dev-guide/src/autodiff/debugging.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/autodiff/debugging.md b/src/doc/rustc-dev-guide/src/autodiff/debugging.md index 3b2278f1a0759..627d36b1c68b4 100644 --- a/src/doc/rustc-dev-guide/src/autodiff/debugging.md +++ b/src/doc/rustc-dev-guide/src/autodiff/debugging.md @@ -28,7 +28,7 @@ The actual numbers will depend on your code. To confirm that your previous step worked, we will use llvm's `opt` tool. Find your path to the opt binary, with a path similar to `/rust/build//ci-llvm/bin/opt`. If you build LLVM from source, you'll likely need to replace `ci-llvm` with `build`. Also find `llvmenzyme-21.` path, similar to `/rust/build/target-triple/enzyme/build/enzyme/llvmenzyme-21`. Please keep in mind that llvm frequently updates it's llvm backend, so the version number might be higher (20, 21, ...). Once you have both, run the following command: ```sh - out.ll -load-pass-plugin=/path/to/build//stage1/lib/libEnzyme-21.so -passes="enzyme" -enzyme-strict-aliasing=0 -s + out.ll -load-pass-plugin=/path/to/build//stage1/lib/libEnzyme-21.so -passes="enzyme" -enzyme-strict-aliasing=0 -S ``` This command might fail for future versions or on your system, in which case you should replace libEnzyme-21.so with LLVMEnzyme-21.so. Look at the Enzyme docs for instructions on how to build it. You might need to also adjust how to build your LLVM version. @@ -41,7 +41,7 @@ If you fail to get the same error, please open an issue in the rust repository. First find your `llvm-extract` binary, it's in the same folder as your opt binary. then run: ```sh - -s --func= --recursive --rfunc="enzyme_autodiff*" --rfunc="enzyme_fwddiff*" --rfunc= out.ll -o mwe.ll + -S --func= --recursive --rfunc="enzyme_autodiff*" --rfunc="enzyme_fwddiff*" --rfunc= out.ll -o mwe.ll ``` This command creates `mwe.ll`, a minimal working example. From aa42817c8205bad87cd1495a9b12f99af2c8ab62 Mon Sep 17 00:00:00 2001 From: Takayuki Maeda Date: Mon, 11 May 2026 17:35:42 +0900 Subject: [PATCH 04/25] move feature* methods from parse mod to errors mod --- src/doc/rustc-dev-guide/src/implementing-new-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/implementing-new-features.md b/src/doc/rustc-dev-guide/src/implementing-new-features.md index e5a6d03f43fdd..a34c812f728f4 100644 --- a/src/doc/rustc-dev-guide/src/implementing-new-features.md +++ b/src/doc/rustc-dev-guide/src/implementing-new-features.md @@ -191,7 +191,7 @@ The below steps needs to be followed in order to implement a new unstable featur If the feature gate is not set, you should either maintain the pre-feature behavior or raise an error, depending on what makes sense. - Errors should generally use [`rustc_session::parse::feature_err`]. + Errors should generally use [`rustc_session::errors::feature_err`]. For an example of adding an error, see [#81015]. For features introducing new syntax, pre-expansion gating should be used instead. @@ -221,7 +221,7 @@ The below steps needs to be followed in order to implement a new unstable featur [`GatedSpans`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/struct.GatedSpans.html [#81015]: https://github.com/rust-lang/rust/pull/81015 -[`rustc_session::parse::feature_err`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/parse/fn.feature_err.html +[`rustc_session::errors::feature_err`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_session/errors/fn.feature_err.html [`rustc_ast_passes::feature_gate::check_crate`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_ast_passes/feature_gate/fn.check_crate.html [value the stability of Rust]: https://github.com/rust-lang/rfcs/blob/master/text/1122-language-semver.md [stability in code]: #stability-in-code From 420c26e938be6446b22168029df7646009e50fb8 Mon Sep 17 00:00:00 2001 From: bjorn3 <17426603+bjorn3@users.noreply.github.com> Date: Wed, 13 May 2026 13:34:35 +0200 Subject: [PATCH 05/25] Update dependencies to remove windows-targets dependency --- src/doc/rustc-dev-guide/ci/sembr/Cargo.lock | 88 ++------------------- 1 file changed, 7 insertions(+), 81 deletions(-) diff --git a/src/doc/rustc-dev-guide/ci/sembr/Cargo.lock b/src/doc/rustc-dev-guide/ci/sembr/Cargo.lock index 4defe49579f3b..36a50dec5a70a 100644 --- a/src/doc/rustc-dev-guide/ci/sembr/Cargo.lock +++ b/src/doc/rustc-dev-guide/ci/sembr/Cargo.lock @@ -43,22 +43,22 @@ dependencies = [ [[package]] name = "anstyle-query" -version = "1.1.4" +version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e231f6134f61b71076a3eab506c379d4f36122f2af15a9ff04415ea4c3339e2" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "3.0.10" +version = "3.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e0633414522a32ffaac8ac6cc8f748e090c5717661fddeea04219e2344f5f2a" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys", ] [[package]] @@ -347,7 +347,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys", ] [[package]] @@ -356,15 +356,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" -[[package]] -name = "windows-sys" -version = "0.60.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" -dependencies = [ - "windows-targets", -] - [[package]] name = "windows-sys" version = "0.61.2" @@ -373,68 +364,3 @@ checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ "windows-link", ] - -[[package]] -name = "windows-targets" -version = "0.53.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" -dependencies = [ - "windows-link", - "windows_aarch64_gnullvm", - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_gnullvm", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_gnullvm", - "windows_x86_64_msvc", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" - -[[package]] -name = "windows_i686_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" - -[[package]] -name = "windows_i686_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" - -[[package]] -name = "windows_i686_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.53.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" From b6f6ba85f832b0b4de34a68f448398a7fa475d5e Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Thu, 14 May 2026 20:24:32 -0400 Subject: [PATCH 06/25] update std::autodiff link to point to nighlty autodiff docs --- src/doc/rustc-dev-guide/src/autodiff/internals.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/autodiff/internals.md b/src/doc/rustc-dev-guide/src/autodiff/internals.md index e381b091e898a..b50416b0da094 100644 --- a/src/doc/rustc-dev-guide/src/autodiff/internals.md +++ b/src/doc/rustc-dev-guide/src/autodiff/internals.md @@ -15,7 +15,7 @@ fn main() { } ``` -The detailed documentation for the `std::autodiff` module is available at [std::autodiff](https://doc.rust-lang.org/std/autodiff/index.html). +The detailed documentation for the `std::autodiff` module is available at [std::autodiff](https://doc.rust-lang.org/nightly/std/autodiff/index.html). Differentiable programming is used in various fields like numerical computing, [solid mechanics][ratel], [computational chemistry][molpipx], [fluid dynamics][waterlily] or for Neural Network training via Backpropagation, [ODE solver][diffsol], [differentiable rendering][libigl], [quantum computing][catalyst], and climate simulations. @@ -25,3 +25,5 @@ Differentiable programming is used in various fields like numerical computing, [ [diffsol]: https://github.com/martinjrobins/diffsol [libigl]: https://github.com/alecjacobson/libigl-enzyme-example?tab=readme-ov-file#run [catalyst]: https://github.com/PennyLaneAI/catalyst + + From fef299d65f427ba2862e6eeabe540a62b1f15706 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Thu, 14 May 2026 20:45:36 -0400 Subject: [PATCH 07/25] add short motivation --- src/doc/rustc-dev-guide/src/autodiff/internals.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/autodiff/internals.md b/src/doc/rustc-dev-guide/src/autodiff/internals.md index b50416b0da094..b9753c9dc1f27 100644 --- a/src/doc/rustc-dev-guide/src/autodiff/internals.md +++ b/src/doc/rustc-dev-guide/src/autodiff/internals.md @@ -27,3 +27,10 @@ Differentiable programming is used in various fields like numerical computing, [ [catalyst]: https://github.com/PennyLaneAI/catalyst +`std::autodiff` is currently based on Enzyme, an LLVM based tool for automatic differentation. There are three main reasons for relying on compiler based autodiff: + +- **Usability**: Current autodiff crates do not support normal Rust programs. They either enforce a custom DSL, require the usage of library provided types (instead of e.g. slices or arrays), or are limited to scalar functions. Compiler based autodiff allows users to write normal Rust code, including arrays, slices, user-defined structs and enums, control flow, and more. +- **Performance**: Most existing Rust autodiff approaches have a constant overhead per operation. This can easily be amortized for ML applications which have few expensive operations on large tensors. It is, however, often unacceptable for applications in the HPC or scientific computing field. By working on (optimized) LLVM IR, compiler based autodiff can achieve [significantly][Enzyme] better performance in those cases. +- **Features**: By operating on such a low level and sharing the implementation with other LLVM based languages, we can leverage the large amount of work already done in the Enzyme project. For example, we can support Rust code calling MPI routines, or GPU code, including libraries like CuBLAS. + +[Enzyme]: https://dl.acm.org/doi/10.5555/3495724.3496770 From 51ef55afdbfc720432fac16baff29566fb8e5624 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Thu, 14 May 2026 23:46:08 -0400 Subject: [PATCH 08/25] reference rustup installation support --- .../src/autodiff/installation.md | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/autodiff/installation.md b/src/doc/rustc-dev-guide/src/autodiff/installation.md index a1e802ffaea5e..b68675397f230 100644 --- a/src/doc/rustc-dev-guide/src/autodiff/installation.md +++ b/src/doc/rustc-dev-guide/src/autodiff/installation.md @@ -13,18 +13,13 @@ Please open an issue if you want to help enabling automatic builds for your pref ## Installation guide -If you want to use `std::autodiff` and don't plan to contribute PR's to the project, then we recommend to just use your existing nightly installation and download the missing component. -In the future, rustup will be able to do it for you. -For now, you'll have to manually download and copy it. - -1) On our github repository, find the last merged PR: [`Repo`] -2) Scroll down to the lower end of the PR, where you'll find a rust-bors message saying `Test successful` with a `CI` link. -3) Click on the `CI` link, and grep for your target. E.g. `dist-x86_64-linux` or `dist-aarch64-llvm-mingw` and click `Load summary`. -4) Under the `CI artifacts` section, find the `enzyme-nightly` artifact, download, and unpack it. -5) Copy the artifact (libEnzyme-22.so for linux, libEnzyme-22.dylib for apple, etc.), which should be in a folder named `enzyme-preview`, to your rust toolchain directory. E.g. for linux: `cp ~/Downloads/enzyme-nightly-x86_64-unknown-linux-gnu/enzyme-preview/lib/rustlib/x86_64-unknown-linux-gnu/lib/libEnzyme-22.so ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib` - -Apple support was temporarily reverted, due to downstream breakages. -Please (currently) build it from source. +If you want to use `std::autodiff` on Linux or Windows and don't plan to contribute PR's to the project, then we recommend to just use your existing nightly installation and download the missing component. Please run: + +```console +rustup +nightly component add enzyme +``` + +Apple support was temporarily reverted, due to downstream breakages. Please build it from source till we can re-enable it. ## Installation guide for Nix user. From 792f73c4f99fb2d78c30362980291147a7cc001c Mon Sep 17 00:00:00 2001 From: sgasho Date: Mon, 18 May 2026 10:25:05 +0900 Subject: [PATCH 09/25] Fix sample code for std::offload at usage.md --- src/doc/rustc-dev-guide/src/offload/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/offload/usage.md b/src/doc/rustc-dev-guide/src/offload/usage.md index c7ce2ded42e97..275290fc522d5 100644 --- a/src/doc/rustc-dev-guide/src/offload/usage.md +++ b/src/doc/rustc-dev-guide/src/offload/usage.md @@ -59,7 +59,7 @@ fn main() { #[inline(never)] unsafe fn kernel(x: *mut [f64; 256]) { - core::intrinsics::offload(_kernel_1, [256, 1, 1], [32, 1, 1], (x,)) + core::intrinsics::offload(kernel_1, [256, 1, 1], [32, 1, 1], (x,)) } #[cfg(target_os = "linux")] From e2f2990cfcebe3e279e4185fa21110afd5634687 Mon Sep 17 00:00:00 2001 From: The rustc-josh-sync Cronjob Bot Date: Mon, 18 May 2026 05:32:27 +0000 Subject: [PATCH 10/25] Prepare for merging from rust-lang/rust This updates the rust-version file to a31c27a887b40df16ab9dfb8c9f7924636092509. --- src/doc/rustc-dev-guide/rust-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/rust-version b/src/doc/rustc-dev-guide/rust-version index d33dd7b83a6a7..6884c82e9ea8b 100644 --- a/src/doc/rustc-dev-guide/rust-version +++ b/src/doc/rustc-dev-guide/rust-version @@ -1 +1 @@ -f2b291d902bfde7d7f209fc3a64908134bcef201 +a31c27a887b40df16ab9dfb8c9f7924636092509 From 4fe70e6fb0f9f224c6b368606d641e00076d9eee Mon Sep 17 00:00:00 2001 From: "Kevin K." Date: Tue, 19 May 2026 16:37:28 +0200 Subject: [PATCH 11/25] Clarify importance of `target-cpu` flag for offload --- src/doc/rustc-dev-guide/src/offload/usage.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/offload/usage.md b/src/doc/rustc-dev-guide/src/offload/usage.md index 275290fc522d5..0fb6d37b23d23 100644 --- a/src/doc/rustc-dev-guide/src/offload/usage.md +++ b/src/doc/rustc-dev-guide/src/offload/usage.md @@ -77,22 +77,23 @@ pub extern "gpu-kernel" fn kernel_1(x: *mut [f64; 256]) { ``` ## Compile instructions -It is important to use a clang compiler build on the same llvm as rustc. +It is important to use a clang compiler build on the same LLVM as rustc. Just calling clang without the full path will likely use your system clang, which probably will be incompatible. So either substitute clang/lld invocations below with absolute path, or set your `PATH` accordingly. -First we generate the device (gpu) code. -Replace the target-cpu with the right code for your gpu. +First we generate the device (GPU) code. + > [!IMPORTANT] + > Replace the `target-cpu` (gfx90a) with the right code for your GPU. These are often referred to as "LLVM target names"[^list]. ``` RUSTFLAGS="-Ctarget-cpu=gfx90a --emit=llvm-bc,llvm-ir -Zoffload=Device -Csave-temps -Zunstable-options" cargo +offload build -Zunstable-options -r -v --target amdgcn-amd-amdhsa -Zbuild-std=core ``` You might afterwards need to copy your target/release/deps/.bc to lib.bc for now, before the next step. -Now we generate the host (cpu) code. +Now we generate the host (CPU) code. ``` RUSTFLAGS="--emit=llvm-bc,llvm-ir -Csave-temps -Zoffload=Host=/p/lustre1/drehwald1/prog/offload/r/target/amdgcn-amd-amdhsa/release/deps/host.out -Zunstable-options" cargo +offload build -r ``` -This call also does a lot of work and generates multiple intermediate files for llvm offload. +This call also does a lot of work and generates multiple intermediate files for LLVM offload. While we integrated most offload steps into rustc by now, one binary invocation still remains for now: ``` @@ -100,7 +101,7 @@ While we integrated most offload steps into rustc by now, one binary invocation ``` You can try to find the paths to those files on your system. -However, I recommend to not fix the paths, but rather just re-generate them by copying a bare-mode openmp example and compiling it with your clang. +However, I recommend to not fix the paths, but rather just re-generate them by copying a bare-mode OpenMP example and compiling it with your clang. By adding `-###` to your clang invocation, you can see the invidual steps. It will show multiple steps, just look for the clang-linker-wrapper example. Make sure to still include the path to the `host.o` file, and not whatever tmp file you got when compiling your c++ example with the following call. @@ -121,3 +122,5 @@ To receive more information about the memory transfer, you can enable info print ``` LIBOMPTARGET_INFO=-1 ./main ``` + +[^list]: https://rocm.docs.amd.com/en/latest/reference/gpu-arch-specs.html or https://developer.nvidia.com/cuda/gpus. Alternatively, check `rustc --print target-cpus`. From 40f27e85feb99b2badd4bf079af5024f75353d2a Mon Sep 17 00:00:00 2001 From: "Kevin K." Date: Tue, 19 May 2026 16:44:27 +0200 Subject: [PATCH 12/25] fix: use div with class warning --- src/doc/rustc-dev-guide/src/offload/usage.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/offload/usage.md b/src/doc/rustc-dev-guide/src/offload/usage.md index 0fb6d37b23d23..adeac2021942f 100644 --- a/src/doc/rustc-dev-guide/src/offload/usage.md +++ b/src/doc/rustc-dev-guide/src/offload/usage.md @@ -82,8 +82,13 @@ Just calling clang without the full path will likely use your system clang, whic So either substitute clang/lld invocations below with absolute path, or set your `PATH` accordingly. First we generate the device (GPU) code. - > [!IMPORTANT] - > Replace the `target-cpu` (gfx90a) with the right code for your GPU. These are often referred to as "LLVM target names"[^list]. + +
+ +Replace the `target-cpu` (gfx90a) with the right code for your GPU. These are often referred to as "LLVM target names"[^list]. + +
+ ``` RUSTFLAGS="-Ctarget-cpu=gfx90a --emit=llvm-bc,llvm-ir -Zoffload=Device -Csave-temps -Zunstable-options" cargo +offload build -Zunstable-options -r -v --target amdgcn-amd-amdhsa -Zbuild-std=core ``` From 76c334481bc9f2c52ee629703b389ba7a066aa39 Mon Sep 17 00:00:00 2001 From: n4n5 Date: Wed, 20 May 2026 22:28:19 +0200 Subject: [PATCH 13/25] Update quickstart.md with stage2 note Added note about stage2 dependency in rustup toolchain linking. --- src/doc/rustc-dev-guide/src/building/quickstart.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/doc/rustc-dev-guide/src/building/quickstart.md b/src/doc/rustc-dev-guide/src/building/quickstart.md index 42058246cd05f..40d3e38427edf 100644 --- a/src/doc/rustc-dev-guide/src/building/quickstart.md +++ b/src/doc/rustc-dev-guide/src/building/quickstart.md @@ -37,6 +37,7 @@ After building the compiler and standard library, you now have a working compiler toolchain. You can use it with rustup by linking it. ```sh +# note that sometimes you can only have the stage2 depending on the build config rustup toolchain link stage1 build/host/stage1 ``` From df803048ccf598f5147f82c1b94681768d0f154c Mon Sep 17 00:00:00 2001 From: n4n5 Date: Wed, 20 May 2026 22:39:19 +0200 Subject: [PATCH 14/25] Add note on building tools in how-to-build-and-run.md Added a note about building tools and linked to tool tests section. --- src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md b/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md index 317b7c2564cbc..826424b7bd6f3 100644 --- a/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md +++ b/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md @@ -279,6 +279,10 @@ Instead, you can build a specific component by providing its name, like this: If you choose the `library` profile when running `x setup`, you can omit `--stage 1` (it's the default). +If you want to build a tool, check the [the section on tool tests][tool-tests-link]. + +[tool-tests-link]: ../tests/intro.md#tool-tests + ## Creating a rustup toolchain Once you have successfully built `rustc`, you will have created a bunch From 8a0eb896d474f3fa5891d5b09328b5cbb78a99cd Mon Sep 17 00:00:00 2001 From: n4n5 Date: Wed, 20 May 2026 22:43:41 +0200 Subject: [PATCH 15/25] Update how-to-build-and-run.md --- .../rustc-dev-guide/src/building/how-to-build-and-run.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md b/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md index 826424b7bd6f3..17c1ba7167c59 100644 --- a/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md +++ b/src/doc/rustc-dev-guide/src/building/how-to-build-and-run.md @@ -279,7 +279,13 @@ Instead, you can build a specific component by providing its name, like this: If you choose the `library` profile when running `x setup`, you can omit `--stage 1` (it's the default). -If you want to build a tool, check the [the section on tool tests][tool-tests-link]. +If you want to build a tool, you can use: + +```bash +./x build src/tools/cargo +``` + +You can also check the [the section on tool tests][tool-tests-link]. [tool-tests-link]: ../tests/intro.md#tool-tests From 7cfb7919e31c4fa9290fedbd652c3a97f48e6605 Mon Sep 17 00:00:00 2001 From: n4n5 Date: Thu, 21 May 2026 10:42:07 +0200 Subject: [PATCH 16/25] Update quickstart.md --- src/doc/rustc-dev-guide/src/building/quickstart.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/building/quickstart.md b/src/doc/rustc-dev-guide/src/building/quickstart.md index 40d3e38427edf..8377fd91eeb47 100644 --- a/src/doc/rustc-dev-guide/src/building/quickstart.md +++ b/src/doc/rustc-dev-guide/src/building/quickstart.md @@ -37,10 +37,12 @@ After building the compiler and standard library, you now have a working compiler toolchain. You can use it with rustup by linking it. ```sh -# note that sometimes you can only have the stage2 depending on the build config rustup toolchain link stage1 build/host/stage1 ``` +Depending on your configuration and the stage picked, you may only have +the `stage2` instead of the `stage1`. Change the commands accordingly. + Now you have a toolchain called `stage1` linked to your build. You can use it to test the compiler. From 1cd23886fa09ef025fc2e69204d81d15683baa64 Mon Sep 17 00:00:00 2001 From: n4n5 Date: Thu, 21 May 2026 11:02:54 +0200 Subject: [PATCH 17/25] Update src/building/quickstart.md Co-authored-by: jyn --- src/doc/rustc-dev-guide/src/building/quickstart.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/building/quickstart.md b/src/doc/rustc-dev-guide/src/building/quickstart.md index 8377fd91eeb47..ca645f94fd9f1 100644 --- a/src/doc/rustc-dev-guide/src/building/quickstart.md +++ b/src/doc/rustc-dev-guide/src/building/quickstart.md @@ -40,8 +40,11 @@ compiler toolchain. You can use it with rustup by linking it. rustup toolchain link stage1 build/host/stage1 ``` -Depending on your configuration and the stage picked, you may only have -the `stage2` instead of the `stage1`. Change the commands accordingly. +**NOTE**: If you use `./x setup tools`, the default stage will be set to 2 instead of 1. +Adjust your command accordingly: +```sh +rustup toolchain link stage2 build/host/stage2 +``` Now you have a toolchain called `stage1` linked to your build. You can use it to test the compiler. From f4de79668db754320749a619d9c8ad35ef3c073d Mon Sep 17 00:00:00 2001 From: Darric Heng Date: Sun, 24 May 2026 19:02:23 +0800 Subject: [PATCH 18/25] link to ci testing from contribution procedures --- src/doc/rustc-dev-guide/src/contributing.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/doc/rustc-dev-guide/src/contributing.md b/src/doc/rustc-dev-guide/src/contributing.md index 7f4779515b13c..4e292c5476d1c 100644 --- a/src/doc/rustc-dev-guide/src/contributing.md +++ b/src/doc/rustc-dev-guide/src/contributing.md @@ -255,6 +255,9 @@ It is also perfectly fine (and even encouraged!) to use the CI to test your changes if it can help your productivity. In particular, we don't recommend running the full `./x test` suite locally, since it takes a very long time to execute. +See the [Testing with CI] chapter for using Rust's CI to test your changes. + +[Testing with CI]: https://rustc-dev-guide.rust-lang.org/tests/ci.html#testing-with-ci ### r+ From 721656f3bb54492b62ebaae0aa3c1e0324f53f7a Mon Sep 17 00:00:00 2001 From: Redddy Date: Mon, 25 May 2026 15:23:59 +0900 Subject: [PATCH 19/25] Combine DefCollector and reduced-graph passes cc: https://github.com/rust-lang/rust/pull/154945/ --- src/doc/rustc-dev-guide/src/macro-expansion.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/macro-expansion.md b/src/doc/rustc-dev-guide/src/macro-expansion.md index 60067c4f85c37..40b6ef27f9b82 100644 --- a/src/doc/rustc-dev-guide/src/macro-expansion.md +++ b/src/doc/rustc-dev-guide/src/macro-expansion.md @@ -76,15 +76,14 @@ If we can't make progress in an iteration, this represents a compile error. an AST, which may produce parse errors. - During expansion, we create [`SyntaxContext`]s (hierarchy 2) (see [Hygiene][hybelow] below). - - These three passes happen one after another on every AST fragment + - These two passes happen one after another on every AST fragment freshly expanded from a macro: - [`NodeId`]s are assigned by [`InvocationCollector`]. This also collects new macro calls from this new AST piece and adds them to the queue. - - ["Def paths"][defpath] are created and [`DefId`]s are - assigned to them by [`DefCollector`]. - - Names are put into modules (from the resolver's point of - view) by [`BuildReducedGraphVisitor`]. + - [`DefCollector`] creates ["Def paths"][defpath], assigns the + corresponding [`DefId`]s, and also builds the reduced graph + (putting names into modules from the resolver's point of view). 3. After expanding a single macro and integrating its output, continue to the next iteration of [`fully_expand_fragment`][fef]. 5. If it's not resolved: @@ -92,7 +91,6 @@ If we can't make progress in an iteration, this represents a compile error. 2. Continue to next iteration... [`AstFragment`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_expand/expand/enum.AstFragment.html -[`BuildReducedGraphVisitor`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/build_reduced_graph/struct.BuildReducedGraphVisitor.html [`DefCollector`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_resolve/def_collector/struct.DefCollector.html [`DefId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/def_id/struct.DefId.html [`ExpnId`]: https://doc.rust-lang.org/nightly/nightly-rustc/rustc_span/hygiene/struct.ExpnId.html From cbbdd3ea3cb9bb268ed5c08f8b0449387c3c73c6 Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Thu, 28 May 2026 08:07:57 +0200 Subject: [PATCH 20/25] add a pause to improve readability --- src/doc/rustc-dev-guide/src/tests/ui.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/tests/ui.md b/src/doc/rustc-dev-guide/src/tests/ui.md index 1e74a3de40403..578ae473de38b 100644 --- a/src/doc/rustc-dev-guide/src/tests/ui.md +++ b/src/doc/rustc-dev-guide/src/tests/ui.md @@ -96,7 +96,7 @@ will check for output files: - `dont-check-compiler-stdout` — Ignores stdout from the compiler. - `compare-output-by-lines` — Some tests have non-deterministic orders of output, so we need to compare by lines. -UI tests run with `-Zdeduplicate-diagnostics=no` flag which disables rustc's +UI tests run with `-Zdeduplicate-diagnostics=no` flag, which disables rustc's built-in diagnostic deduplication mechanism. This means you may see some duplicate messages in the output. This helps illuminate situations where duplicate diagnostics are being generated. From cca16c0fc7dd902ce337323bfca0a5ab4776d582 Mon Sep 17 00:00:00 2001 From: Manuel Drehwald Date: Thu, 28 May 2026 13:13:03 -0400 Subject: [PATCH 21/25] The output filename of offload has changed --- src/doc/rustc-dev-guide/src/offload/usage.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/src/offload/usage.md b/src/doc/rustc-dev-guide/src/offload/usage.md index adeac2021942f..76f029c3f7f4d 100644 --- a/src/doc/rustc-dev-guide/src/offload/usage.md +++ b/src/doc/rustc-dev-guide/src/offload/usage.md @@ -96,7 +96,7 @@ You might afterwards need to copy your target/release/deps/.bc to lib. Now we generate the host (CPU) code. ``` -RUSTFLAGS="--emit=llvm-bc,llvm-ir -Csave-temps -Zoffload=Host=/p/lustre1/drehwald1/prog/offload/r/target/amdgcn-amd-amdhsa/release/deps/host.out -Zunstable-options" cargo +offload build -r +RUSTFLAGS="--emit=llvm-bc,llvm-ir -Csave-temps -Zoffload=Host=/p/lustre1/drehwald1/prog/offload/r/target/amdgcn-amd-amdhsa/release/deps/device.bin -Zunstable-options" cargo +offload build -r ``` This call also does a lot of work and generates multiple intermediate files for LLVM offload. While we integrated most offload steps into rustc by now, one binary invocation still remains for now: From 57cd6d7cc52c1a3a82841378c9e45f4739dd42a4 Mon Sep 17 00:00:00 2001 From: Santi Hernandez Date: Thu, 14 May 2026 18:58:21 -0600 Subject: [PATCH 22/25] Update date references for 2026-05 triage (#2861) --- src/doc/rustc-dev-guide/src/contributing.md | 6 +++--- src/doc/rustc-dev-guide/src/implementing-new-features.md | 2 +- src/doc/rustc-dev-guide/src/normalization.md | 2 +- src/doc/rustc-dev-guide/src/rustdoc-internals.md | 2 +- src/doc/rustc-dev-guide/src/tests/minicore.md | 2 +- src/doc/rustc-dev-guide/src/tests/misc.md | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/contributing.md b/src/doc/rustc-dev-guide/src/contributing.md index 4e292c5476d1c..cbf7b1218c7c7 100644 --- a/src/doc/rustc-dev-guide/src/contributing.md +++ b/src/doc/rustc-dev-guide/src/contributing.md @@ -444,20 +444,20 @@ Just a few things to keep in mind: For the action to pick the date, add a special annotation before specifying the date: ```md - Nov 2025 + May 2026 ``` Example: ```md - As of Nov 2025, the foo did the bar. + As of May 2026, the foo did the bar. ``` For cases where the date should not be part of the visible rendered output, use the following instead: ```md - + ``` - A link to a relevant WG, tracking issue, `rustc` rustdoc page, or similar, that may provide diff --git a/src/doc/rustc-dev-guide/src/implementing-new-features.md b/src/doc/rustc-dev-guide/src/implementing-new-features.md index a34c812f728f4..ec2082e1ee7e4 100644 --- a/src/doc/rustc-dev-guide/src/implementing-new-features.md +++ b/src/doc/rustc-dev-guide/src/implementing-new-features.md @@ -1,4 +1,4 @@ - + # Implementing new language features diff --git a/src/doc/rustc-dev-guide/src/normalization.md b/src/doc/rustc-dev-guide/src/normalization.md index b458b04c17194..5e69222db98d3 100644 --- a/src/doc/rustc-dev-guide/src/normalization.md +++ b/src/doc/rustc-dev-guide/src/normalization.md @@ -164,7 +164,7 @@ In this example: When interfacing with the type system it will often be the case that it's necessary to request a type be normalized. There are a number of different entry points to the underlying normalization logic and each entry point should only be used in specific parts of the compiler. - + An additional complication is that the compiler is currently undergoing a transition from the old trait solver to the new trait solver. As part of this transition our approach to normalization in the compiler has changed somewhat significantly, resulting in some normalization entry points being "old solver only" slated for removal in the long-term once the new solver has stabilized. The transition can be tracked via the [WG-trait-system-refactor](https://github.com/rust-lang/rust/labels/WG-trait-system-refactor) label in Github. diff --git a/src/doc/rustc-dev-guide/src/rustdoc-internals.md b/src/doc/rustc-dev-guide/src/rustdoc-internals.md index f3fd47812a96b..df8adab351e65 100644 --- a/src/doc/rustc-dev-guide/src/rustdoc-internals.md +++ b/src/doc/rustc-dev-guide/src/rustdoc-internals.md @@ -222,7 +222,7 @@ directly, even during `HTML` generation. This [didn't used to be the case], and a lot of `rustdoc`'s architecture was designed around not doing that, but a `TyCtxt` is now passed to `formats::renderer::run_format`, which is used to -run generation for both `HTML` and the (unstable as of Nov 2025) JSON format. +run generation for both `HTML` and the (unstable as of May 2026) JSON format. This change has allowed other changes to remove data from the "clean" [`AST`][ast] that can be easily derived from `TyCtxt` queries, and we'll usually accept diff --git a/src/doc/rustc-dev-guide/src/tests/minicore.md b/src/doc/rustc-dev-guide/src/tests/minicore.md index 0fd7af7c60bbb..709feecd29597 100644 --- a/src/doc/rustc-dev-guide/src/tests/minicore.md +++ b/src/doc/rustc-dev-guide/src/tests/minicore.md @@ -1,6 +1,6 @@ # `minicore` test auxiliary: using `core` stubs - + [`tests/auxiliary/minicore.rs`][`minicore`] is a test auxiliary for ui/codegen/assembly/mir-opt test suites. It provides `core` stubs for tests that need to diff --git a/src/doc/rustc-dev-guide/src/tests/misc.md b/src/doc/rustc-dev-guide/src/tests/misc.md index cc8f501224fac..8fecbdd74a300 100644 --- a/src/doc/rustc-dev-guide/src/tests/misc.md +++ b/src/doc/rustc-dev-guide/src/tests/misc.md @@ -2,7 +2,7 @@ ## `RUSTC_BOOTSTRAP` and stability - + This is a bootstrap/compiler implementation detail, but it can also be useful for testing: From d683c9fe8c45c23455d98f5b70fe4c0de7c0261f Mon Sep 17 00:00:00 2001 From: Santi Hernandez Date: Thu, 28 May 2026 19:47:33 -0600 Subject: [PATCH 23/25] Address review: revert contributing.md examples, remove unnecessary date-check comments --- src/doc/rustc-dev-guide/src/contributing.md | 6 +++--- src/doc/rustc-dev-guide/src/implementing-new-features.md | 1 - src/doc/rustc-dev-guide/src/normalization.md | 1 - src/doc/rustc-dev-guide/src/tests/minicore.md | 1 - src/doc/rustc-dev-guide/src/tests/misc.md | 1 - 5 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/contributing.md b/src/doc/rustc-dev-guide/src/contributing.md index cbf7b1218c7c7..4e292c5476d1c 100644 --- a/src/doc/rustc-dev-guide/src/contributing.md +++ b/src/doc/rustc-dev-guide/src/contributing.md @@ -444,20 +444,20 @@ Just a few things to keep in mind: For the action to pick the date, add a special annotation before specifying the date: ```md - May 2026 + Nov 2025 ``` Example: ```md - As of May 2026, the foo did the bar. + As of Nov 2025, the foo did the bar. ``` For cases where the date should not be part of the visible rendered output, use the following instead: ```md - + ``` - A link to a relevant WG, tracking issue, `rustc` rustdoc page, or similar, that may provide diff --git a/src/doc/rustc-dev-guide/src/implementing-new-features.md b/src/doc/rustc-dev-guide/src/implementing-new-features.md index ec2082e1ee7e4..4a23188393d1e 100644 --- a/src/doc/rustc-dev-guide/src/implementing-new-features.md +++ b/src/doc/rustc-dev-guide/src/implementing-new-features.md @@ -1,4 +1,3 @@ - # Implementing new language features diff --git a/src/doc/rustc-dev-guide/src/normalization.md b/src/doc/rustc-dev-guide/src/normalization.md index 5e69222db98d3..66cbec807cb4e 100644 --- a/src/doc/rustc-dev-guide/src/normalization.md +++ b/src/doc/rustc-dev-guide/src/normalization.md @@ -164,7 +164,6 @@ In this example: When interfacing with the type system it will often be the case that it's necessary to request a type be normalized. There are a number of different entry points to the underlying normalization logic and each entry point should only be used in specific parts of the compiler. - An additional complication is that the compiler is currently undergoing a transition from the old trait solver to the new trait solver. As part of this transition our approach to normalization in the compiler has changed somewhat significantly, resulting in some normalization entry points being "old solver only" slated for removal in the long-term once the new solver has stabilized. The transition can be tracked via the [WG-trait-system-refactor](https://github.com/rust-lang/rust/labels/WG-trait-system-refactor) label in Github. diff --git a/src/doc/rustc-dev-guide/src/tests/minicore.md b/src/doc/rustc-dev-guide/src/tests/minicore.md index 709feecd29597..0814440d8dacd 100644 --- a/src/doc/rustc-dev-guide/src/tests/minicore.md +++ b/src/doc/rustc-dev-guide/src/tests/minicore.md @@ -1,6 +1,5 @@ # `minicore` test auxiliary: using `core` stubs - [`tests/auxiliary/minicore.rs`][`minicore`] is a test auxiliary for ui/codegen/assembly/mir-opt test suites. It provides `core` stubs for tests that need to diff --git a/src/doc/rustc-dev-guide/src/tests/misc.md b/src/doc/rustc-dev-guide/src/tests/misc.md index 8fecbdd74a300..ace1c8a319333 100644 --- a/src/doc/rustc-dev-guide/src/tests/misc.md +++ b/src/doc/rustc-dev-guide/src/tests/misc.md @@ -2,7 +2,6 @@ ## `RUSTC_BOOTSTRAP` and stability - This is a bootstrap/compiler implementation detail, but it can also be useful for testing: From d3c1bc4c0fbbb2dcdf4cd45584e446b6250bf84f Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Fri, 29 May 2026 06:39:41 +0200 Subject: [PATCH 24/25] fix grammar --- src/doc/rustc-dev-guide/src/tests/ui.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/doc/rustc-dev-guide/src/tests/ui.md b/src/doc/rustc-dev-guide/src/tests/ui.md index 578ae473de38b..02986119756bd 100644 --- a/src/doc/rustc-dev-guide/src/tests/ui.md +++ b/src/doc/rustc-dev-guide/src/tests/ui.md @@ -394,8 +394,8 @@ E.g. use `//@ dont-require-annotations: NOTE` to annotate notes selectively. Avoid using this directive for `ERROR`s and `WARN`ings, unless there's a serious reason, like target-dependent compiler output. -Some diagnostics are never required to be line-annotated, regardless of their kind or directives, -for example secondary lines of multiline diagnostics, +Some diagnostics are never required to be line-annotated, regardless of their kind or directives. +Examples are secondary lines of multiline diagnostics, or ubiquitous diagnostics like `aborting due to N previous errors`. UI tests use the `-A unused` flag by default to ignore all unused warnings, as From c90a87e35f340882e124c78a06df8f673f01abf0 Mon Sep 17 00:00:00 2001 From: The rustc-josh-sync Cronjob Bot Date: Sat, 30 May 2026 20:14:52 +0000 Subject: [PATCH 25/25] Prepare for merging from rust-lang/rust This updates the rust-version file to c58275e0369d09fc3959b8ba87dcbcbe73797465. --- src/doc/rustc-dev-guide/rust-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/doc/rustc-dev-guide/rust-version b/src/doc/rustc-dev-guide/rust-version index 6884c82e9ea8b..0c4fc2d5fef0d 100644 --- a/src/doc/rustc-dev-guide/rust-version +++ b/src/doc/rustc-dev-guide/rust-version @@ -1 +1 @@ -a31c27a887b40df16ab9dfb8c9f7924636092509 +c58275e0369d09fc3959b8ba87dcbcbe73797465