diff options
| author | Esteban Küber <esteban@kuber.com.ar> | 2017-12-13 23:05:49 -0800 |
|---|---|---|
| committer | Esteban Küber <esteban@kuber.com.ar> | 2017-12-21 14:57:42 -0800 |
| commit | aaf3e318fc33edcc6dbf0920998c3f27d00dd818 (patch) | |
| tree | a9dadd8df5519666c6293b0f2b3b59f67ef32f6b /src/libsyntax/ext | |
| parent | b7b52cc8bf2bcc4cbd223a4b61fe3e35e798f6e2 (diff) | |
Do not emit type errors on recovered blocks
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.
Diffstat (limited to 'src/libsyntax/ext')
| -rw-r--r-- | src/libsyntax/ext/build.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 9a96432f11d..8aeebecf661 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -594,6 +594,7 @@ impl<'a> AstBuilder for ExtCtxt<'a> { id: ast::DUMMY_NODE_ID, rules: BlockCheckMode::Default, span, + recovered: false, }) } |
