From af16794b2f8be96cb485f8660c16f1e1616a99a4 Mon Sep 17 00:00:00 2001 From: Kevin Per Date: Wed, 1 Apr 2020 08:16:23 +0200 Subject: [PATCH] Revert "Dropping "block is empty..." error message on incorrect closing delimiter #70583" This reverts commit 811d817eaf5d78522773ab9d21543629027e4ecb. --- src/librustc_parse/lexer/tokentrees.rs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/librustc_parse/lexer/tokentrees.rs b/src/librustc_parse/lexer/tokentrees.rs index 795512c21ed6..b65b89417284 100644 --- a/src/librustc_parse/lexer/tokentrees.rs +++ b/src/librustc_parse/lexer/tokentrees.rs @@ -77,7 +77,6 @@ impl<'a> TokenTreesReader<'a> { fn parse_token_tree(&mut self) -> PResult<'a, TreeAndJoint> { let sm = self.string_reader.sess.source_map(); - match self.token.kind { token::Eof => { let msg = "this file contains an unclosed delimiter"; @@ -217,7 +216,7 @@ impl<'a> TokenTreesReader<'a> { Ok(TokenTree::Delimited(delim_span, delim, tts).into()) } - token::CloseDelim(_delim) => { + token::CloseDelim(delim) => { // An unexpected closing delimiter (i.e., there is no // matching opening delimiter). let token_str = token_to_string(&self.token); @@ -225,8 +224,13 @@ impl<'a> TokenTreesReader<'a> { let mut err = self.string_reader.sess.span_diagnostic.struct_span_err(self.token.span, &msg); + if let Some(span) = self.last_delim_empty_block_spans.remove(&delim) { + err.span_label( + span, + "this block is empty, you might have not meant to close it", + ); + } err.span_label(self.token.span, "unexpected closing delimiter"); - Err(err) } _ => {