]> git.lizzy.rs Git - rust.git/commitdiff
Fix `token::Eof` spans.
authorJeffrey Seyfried <jeffrey.seyfried@gmail.com>
Tue, 21 Feb 2017 12:04:45 +0000 (12:04 +0000)
committerJeffrey Seyfried <jeffrey.seyfried@gmail.com>
Fri, 3 Mar 2017 02:15:39 +0000 (02:15 +0000)
src/libsyntax/parse/parser.rs

index c88b859e036d45c88ffbb31ab5feb24b6c8ec9d4..6e3724b5fd87b4ed33bbc27607ec101a084f5066 100644 (file)
@@ -223,7 +223,7 @@ fn next(&mut self) -> TokenAndSpan {
                 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 @@ pub fn new(sess: &'a ParseSess,
     }
 
     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