rust/src
bors 9ce37dc729 Auto merge of #122240 - RalfJung:miri-addr-reuse, r=oli-obk
miri: add some chance to reuse addresses of previously freed allocations

The hope is that this can help us find ABA issues.

Unfortunately this needs rustc changes so I can't easily run the regular benchmark suite. I used `src/tools/miri/tests/pass/float_nan.rs` as a substitute:
```
Before:
Benchmark 1: ./x.py run miri --stage 0 --args src/tools/miri/tests/pass/float_nan.rs --args --edition=2021
  Time (mean ± σ):      9.570 s ±  0.013 s    [User: 9.279 s, System: 0.290 s]
  Range (min … max):    9.561 s …  9.579 s    2 runs

After:
Benchmark 1: ./x.py run miri --stage 0 --args src/tools/miri/tests/pass/float_nan.rs --args --edition=2021
  Time (mean ± σ):      9.698 s ±  0.046 s    [User: 9.413 s, System: 0.279 s]
  Range (min … max):    9.666 s …  9.731 s    2 runs
```
That's a ~1.3% slowdown, which seems fine to me. I have seen a lot of noise in this style of benchmarking so I don't quite trust this anyway; we can make further experiments in the Miri repo after this migrated there.

r? `@oli-obk`
2024-03-13 09:22:55 +00:00
..
bootstrap Rollup merge of #122378 - clubby789:rustbook-rebuild, r=onur-ozkan 2024-03-12 09:04:03 -07:00
ci Auto merge of #122170 - alexcrichton:rename-wasi-threads, r=petrochenkov 2024-03-12 08:30:46 +00:00
doc Rollup merge of #122226 - Zalathar:zcoverage-options, r=nnethercote 2024-03-13 06:41:22 +01:00
etc Remove old support for emscripten/wasm32-u-u 2024-03-11 09:36:35 -07:00
librustdoc rustdoc: do not preload fonts when browsing locally 2024-03-12 15:00:22 -07:00
llvm-project@7973f35602 Update to LLVM 18.1.0 rc 4 2024-03-01 16:18:57 +01:00
rustdoc-json-types Add is_object_safe information for traits in JSON output 2023-12-23 11:43:31 +01:00
tools Auto merge of #122240 - RalfJung:miri-addr-reuse, r=oli-obk 2024-03-13 09:22:55 +00:00
README.md
stage0.json Bump to newly branched stage0 compiler 2024-02-08 07:43:38 -05:00
version Bump to 1.78 2024-02-03 13:14:34 -05: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.