rust/src
bors 2b399b5275 Auto merge of #118527 - Nadrieril:never_patterns_parse, r=compiler-errors
never_patterns: Parse match arms with no body

Never patterns are meant to signal unreachable cases, and thus don't take bodies:
```rust
let ptr: *const Option<!> = ...;
match *ptr {
    None => { foo(); }
    Some(!),
}
```
This PR makes rustc accept the above, and enforces that an arm has a body xor is a never pattern. This affects parsing of match arms even with the feature off, so this is delicate. (Plus this is my first non-trivial change to the parser).

~~The last commit is optional; it introduces a bit of churn to allow the new suggestions to be machine-applicable. There may be a better solution? I'm not sure.~~ EDIT: I removed that commit

r? `@compiler-errors`
2023-12-08 17:08:52 +00:00
..
bootstrap Auto merge of #118301 - weihanglo:rustfix-doc, r=albertlarsan68 2023-12-08 05:11:12 +00:00
ci Auto merge of #118463 - cuviper:restore-cg_gcc-ci, r=cuviper,GuillaumeGomez 2023-12-07 09:57:44 +00:00
doc Auto merge of #116565 - Sword-Destiny:master, r=Amanieu 2023-12-07 05:22:21 +00:00
etc
librustdoc Rollup merge of #118722 - notriddle:notriddle/dom-opt-3, r=GuillaumeGomez 2023-12-08 06:44:44 +01:00
llvm-project@7738295178
rustdoc-json-types
tools Auto merge of #118527 - Nadrieril:never_patterns_parse, r=compiler-errors 2023-12-08 17:08:52 +00:00
README.md
stage0.json
version

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.