When a parse error occurs on a block, the parser will recover and create a block with the statements collected until that point. Now a flag stating that a recovery has been performed in this block is propagated so that the type checker knows that the type of the block (which will be identified as `()`) shouldn't be checked against the expectation to reduce the amount of irrelevant diagnostic errors shown to the user. |
||
|---|---|---|
| .. | ||
| profile | ||
| build.rs | ||
| Cargo.toml | ||
| derive_registrar.rs | ||
| driver.rs | ||
| lib.rs | ||
| pretty.rs | ||
| README.md | ||
| target_features.rs | ||
| test.rs | ||
NB: This crate is part of the Rust compiler. For an overview of the
compiler as a whole, see
the README.md file found in librustc.
The driver crate is effectively the "main" function for the rust
compiler. It orchstrates the compilation process and "knits together"
the code from the other crates within rustc. This crate itself does
not contain any of the "main logic" of the compiler (though it does
have some code related to pretty printing or other minor compiler
options).