rust/src
Matthias Krüger 75dc99b996
Rollup merge of #122461 - the8472:fix-step-forward-unchecked, r=Amanieu
fix unsoundness in Step::forward_unchecked for signed integers

Fixes #122420

```rust
pub fn foo(a: i8, b: u8) -> i8 {
    unsafe { a.checked_add_unsigned(b).unwrap_unchecked() }
}
```

still compiles down to a single arithmetic instruction ([godbolt](https://rust.godbolt.org/z/qsd3xYWfE)).

But we may be losing some loop optimizations if llvm can no longer easily derive that it's a finite counted loop from the no-wrapping flags.
2024-03-14 11:10:00 +01: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 #119676 - notriddle:notriddle/rustdoc-search-hof, r=GuillaumeGomez 2024-03-14 11:09:56 +01:00
etc Remove old support for emscripten/wasm32-u-u 2024-03-11 09:36:35 -07:00
librustdoc Rollup merge of #119676 - notriddle:notriddle/rustdoc-search-hof, r=GuillaumeGomez 2024-03-14 11:09:56 +01: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 Rollup merge of #122461 - the8472:fix-step-forward-unchecked, r=Amanieu 2024-03-14 11:10:00 +01:00
README.md Remove stale reference to the test suite location 2023-01-13 11:49:06 +00:00
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.