rust/src
Matthias Krüger 9fd8a2c3af
Rollup merge of #129187 - jieyouxu:squeaky-clean-windows-symlinks, r=Kobzol
bootstrap: fix clean's remove_dir_all implementation

It turns out bootstrap's `clean.rs`'s hand-rolled `rm_rf` (which probably comes before `std::fs::remove_dir_all` was stable) is very broken on native Windows around both read-only files/directories and especially symbolic links. So instead of rolling our own, just use `std::fs::remove_dir_all`.

This is a blocker for compiletest's own `rm_rf` implementation #129155 which happens to be also buggy, which in turn is a blocker for the rmake.rs test port #128562 that heavily exercises symlinks (I was reviewing #128562 and testing it on native Windows which is how I found out).

I also left a FIXME for `detect_src_and_out` due to a failing assertion on native Windows (opened #129188):

```
---- core::config::tests::detect_src_and_out stdout ----
thread 'core::config::tests::detect_src_and_out' panicked at src\core\config\tests.rs:72:13:
assertion `left == right` failed
  left: "E:\\tmp"
 right: "C:\\tmp"
```

Fixes #112544 (because now we handle Windows symlinks properly).

try-job: x86_64-msvc
try-job: i686-mingw
try-job: test-various
try-job: armhf-gnu
try-job: aarch64-apple
try-job: aarch64-gnu
2024-08-21 19:35:12 +02:00
..
bootstrap Rollup merge of #129187 - jieyouxu:squeaky-clean-windows-symlinks, r=Kobzol 2024-08-21 19:35:12 +02:00
ci Auto merge of #128722 - tgross35:new-resolver-root, r=Mark-Simulacrum 2024-08-19 09:50:33 +00:00
doc Auto merge of #126450 - madsmtm:promote-mac-catalyst, r=Mark-Simulacrum 2024-08-18 15:52:58 +00:00
etc Generate completions after version updates 2024-08-18 22:52:54 -05:00
librustdoc Auto merge of #129331 - matthiaskrgr:rollup-rxv463w, r=matthiaskrgr 2024-08-21 05:40:46 +00:00
llvm-project@ccf4c38bdd Re-update to LLVM 19 rc2 2024-08-13 16:43:52 -07:00
rustdoc-json-types rustdoc-json: Use FxHashMap from rustdoc_json_types 2024-08-15 13:12:11 +00:00
tools Rollup merge of #128932 - bvanjoi:issue-128813, r=petrochenkov 2024-08-20 22:21:56 +02:00
README.md
stage0 Bump src/stage0 with determinism 2024-07-30 15:16:35 -07:00
version Bump to 1.82 2024-07-20 10:30:39 -04:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.