diff options
author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-12-20 02:33:56 +0300 |
---|---|---|
committer | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2018-12-27 15:51:36 +0300 |
commit | 4ac592516f0627778ac4aaee52acd7d7591e5cb3 (patch) | |
tree | b952022b53dca2bae19cd091a9cc6c76dcfb873b /src/libsyntax | |
parent | fff01ccfa805ccef67827bf1ea84e21d61d13e6f (diff) | |
download | rust-4ac592516f0627778ac4aaee52acd7d7591e5cb3.tar.gz |
Get rid of `Block::recovered`
Diffstat (limited to 'src/libsyntax')
-rw-r--r-- | src/libsyntax/ast.rs | 1 | ||||
-rw-r--r-- | src/libsyntax/ext/build.rs | 1 | ||||
-rw-r--r-- | src/libsyntax/fold.rs | 3 | ||||
-rw-r--r-- | src/libsyntax/parse/parser.rs | 12 |
4 files changed, 7 insertions, 10 deletions
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs index f0e567f9cd6..e3a8980a975 100644 --- a/src/libsyntax/ast.rs +++ b/src/libsyntax/ast.rs @@ -444,7 +444,6 @@ pub struct Block { /// Distinguishes between `unsafe { ... }` and `{ ... }` pub rules: BlockCheckMode, pub span: Span, - pub recovered: bool, } #[derive(Clone, RustcEncodable, RustcDecodable)] diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs index 15faae53916..a8eec1a74dd 100644 --- a/src/libsyntax/ext/build.rs +++ b/src/libsyntax/ext/build.rs @@ -587,7 +587,6 @@ impl<'a> AstBuilder for ExtCtxt<'a> { id: ast::DUMMY_NODE_ID, rules: BlockCheckMode::Default, span, - recovered: false, }) } diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs index b8990264c5d..8ac103856dc 100644 --- a/src/libsyntax/fold.rs +++ b/src/libsyntax/fold.rs @@ -892,12 +892,11 @@ fn noop_fold_bounds<T: Folder>(bounds: GenericBounds, folder: &mut T) } pub fn noop_fold_block<T: Folder>(b: P<Block>, folder: &mut T) -> P<Block> { - b.map(|Block {id, stmts, rules, span, recovered}| Block { + b.map(|Block {id, stmts, rules, span}| Block { id: folder.new_id(id), stmts: stmts.move_flat_map(|s| folder.fold_stmt(s).into_iter()), rules, span: folder.new_span(span), - recovered, }) } diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index e6f0d871222..d68a6546f48 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -32,6 +32,7 @@ use ast::{UseTree, UseTreeKind}; use ast::{BinOpKind, UnOp}; use ast::{RangeEnd, RangeSyntax}; use {ast, attr}; +use ext::base::DummyResult; use source_map::{self, SourceMap, Spanned, respan}; use syntax_pos::{self, Span, MultiSpan, BytePos, FileName}; use errors::{self, Applicability, DiagnosticBuilder, DiagnosticId}; @@ -4966,16 +4967,16 @@ impl<'a> Parser<'a> { /// Precondition: already parsed the '{'. fn parse_block_tail(&mut self, lo: Span, s: BlockCheckMode) -> PResult<'a, P<Block>> { let mut stmts = vec![]; - let mut recovered = false; - while !self.eat(&token::CloseDelim(token::Brace)) { let stmt = match self.parse_full_stmt(false) { Err(mut err) => { err.emit(); self.recover_stmt_(SemiColonMode::Ignore, BlockMode::Ignore); - self.eat(&token::CloseDelim(token::Brace)); - recovered = true; - break; + Some(Stmt { + id: ast::DUMMY_NODE_ID, + node: StmtKind::Expr(DummyResult::raw_expr(self.span)), + span: self.span, + }) } Ok(stmt) => stmt, }; @@ -4993,7 +4994,6 @@ impl<'a> Parser<'a> { id: ast::DUMMY_NODE_ID, rules: s, span: lo.to(self.prev_span), - recovered, })) } |