rust/src
Tomasz Miąsko 5f40a4f7a0 Remove reachable coverage without counters
Remove reachable coverage without counters to maintain invariant that
either there is no coverage at all or there is a live coverage counter
left that provides the function source hash.

The motivating example would be a following closure:

```rust
    let f = |x: bool| {
        debug_assert!(x);
    };
```

Which, with span changes from #93967, with disabled debug assertions,
after the final CFG simplifications but before removal of dead blocks,
gives rise to MIR:

```rust
fn main::{closure#0}(_1: &[closure@a.rs:2:13: 2:22], _2: bool) -> () {
    debug x => _2;
    let mut _0: ();

    bb0: {
        Coverage::Expression(4294967295) = 1 - 2;
        return;
    }

    ...
}
```
2022-07-25 14:14:49 +02:00
..
bootstrap Only run proc-macro-srv tests for now (after discussion with @Veykril, @jyn514, and @lnicola) 2022-07-24 21:04:56 +02:00
ci Revert "Use ICF (identical code folding) for building rustc" 2022-07-18 23:50:00 +02:00
doc Auto merge of #95548 - rcvalle:rust-cfi-2, r=nagisa 2022-07-24 01:22:36 +00:00
etc Rollup merge of #95446 - notseanray:master, r=Mark-Simulacrum 2022-06-22 15:16:08 +09:00
librustdoc Remove Clean trait implementation for Constant 2022-07-24 15:08:24 +02:00
llvm-project@8b6b5014fd Update llvm-project 2022-07-05 17:57:29 +02:00
rustdoc-json-types Fix rustdoc JSON inline 2022-07-16 13:39:38 +02:00
test Remove reachable coverage without counters 2022-07-25 14:14:49 +02:00
tools Make macros test order-resistant 2022-07-24 16:48:06 +02:00
README.md
stage0.json Bump to latest beta 2022-07-21 01:36:08 +00:00
version bump version to 1.64.0 2022-06-24 17:27:24 +02:00

This directory contains the source code of the rust project, including:

  • The test suite
  • The bootstrapping build system
  • Various submodules for tools, like rustdoc, rls, etc.

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