about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorklutzy <klutzytheklutzy@gmail.com>2013-09-26 22:35:41 +0900
committerklutzy <klutzytheklutzy@gmail.com>2013-09-26 22:47:43 +0900
commita56e2eecf5db674be7650ddefb14d97b39a7df67 (patch)
tree0c8ea61f8aef942eff7f8dc80e09a6e52a07aad0 /src/libsyntax
parentd96dfc9a59db75323536916e78befea69e85d5ae (diff)
downloadrust-a56e2eecf5db674be7650ddefb14d97b39a7df67.tar.gz
rust-a56e2eecf5db674be7650ddefb14d97b39a7df67.zip
syntax: Fix wrong span on ObsoleteMode
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/parse/parser.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 18b65d7b444..10393fc8624 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -1213,14 +1213,16 @@ impl Parser {
     // parse an optional, obsolete argument mode.
     pub fn parse_arg_mode(&self) {
         if self.eat(&token::BINOP(token::MINUS)) {
-            self.obsolete(*self.span, ObsoleteMode);
+            self.obsolete(*self.last_span, ObsoleteMode);
         } else if self.eat(&token::ANDAND) {
-            self.obsolete(*self.span, ObsoleteMode);
+            self.obsolete(*self.last_span, ObsoleteMode);
         } else if self.eat(&token::BINOP(token::PLUS)) {
+            let lo = self.last_span.lo;
             if self.eat(&token::BINOP(token::PLUS)) {
-                self.obsolete(*self.span, ObsoleteMode);
+                let hi = self.last_span.hi;
+                self.obsolete(mk_sp(lo, hi), ObsoleteMode);
             } else {
-                self.obsolete(*self.span, ObsoleteMode);
+                self.obsolete(*self.last_span, ObsoleteMode);
             }
         } else {
             // Ignore.