Skip to content

Commit d5b3606

Browse files
estebankpietroalbini
authored andcommitted
Panic when unmatched delimiters aren't emitted
1 parent a5c464a commit d5b3606

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

src/libsyntax/ext/tt/macro_parser.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -761,7 +761,7 @@ pub fn parse(
761761
else if bb_items.is_empty() && next_items.is_empty() {
762762
return Failure(
763763
parser.span,
764-
parser.token,
764+
parser.token.clone(),
765765
"no rules expected this token in macro call",
766766
);
767767
}

src/libsyntax/parse/parser.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,13 @@ pub struct Parser<'a> {
259259
last_unexpected_token_span: Option<Span>,
260260
}
261261

262+
impl<'a> Drop for Parser<'a> {
263+
fn drop(&mut self) {
264+
if !self.unclosed_delims.is_empty() {
265+
panic!("unclosed delimiter errors not emitted");
266+
}
267+
}
268+
}
262269

263270
#[derive(Clone)]
264271
struct TokenCursor {

0 commit comments

Comments
 (0)