From a02c18aa524cf330237ec9d8dba202ad91904a88 Mon Sep 17 00:00:00 2001 From: Jeffrey Seyfried Date: Tue, 21 Feb 2017 12:04:45 +0000 Subject: Fix `token::Eof` spans. --- src/libsyntax/parse/parser.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index c88b859e036..6e3724b5fd8 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -223,7 +223,7 @@ impl TokenCursor { self.frame = frame; continue } else { - return TokenAndSpan { tok: token::Eof, sp: self.frame.span } + return TokenAndSpan { tok: token::Eof, sp: syntax_pos::DUMMY_SP } }; match tree { @@ -448,10 +448,14 @@ impl<'a> Parser<'a> { } fn next_tok(&mut self) -> TokenAndSpan { - match self.desugar_doc_comments { + let mut next = match self.desugar_doc_comments { true => self.token_cursor.next_desugared(), false => self.token_cursor.next(), + }; + if next.sp == syntax_pos::DUMMY_SP { + next.sp = self.prev_span; } + next } /// Convert a token to a string using self's reader -- cgit 1.4.1-3-g733a5