about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-11-29 11:58:12 -0800
committerPatrick Walton <pcwalton@mimiga.net>2012-11-29 12:06:36 -0800
commitc946c87b6f9cd536309dfba09abdc9af32729f34 (patch)
tree60586097d2add1df3b440012a257517e41574218 /src/libsyntax/parse/parser.rs
parent3beff12309f4e78c74a9353eb0b68c2c8bf8e887 (diff)
downloadrust-c946c87b6f9cd536309dfba09abdc9af32729f34.tar.gz
rust-c946c87b6f9cd536309dfba09abdc9af32729f34.zip
libsyntax: Remove the "by-mutable-ref" obsolete syntax error; it blocks useful function argument patterns. Add a test for the latter. r=brson
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
-rw-r--r--src/libsyntax/parse/parser.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 4ddd7be5272..e521a698da7 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -20,8 +20,7 @@ use obsolete::{
     ObsoleteLowerCaseKindBounds, ObsoleteLet,
     ObsoleteFieldTerminator, ObsoleteStructCtor,
     ObsoleteWith, ObsoleteClassMethod, ObsoleteClassTraits,
-    ObsoleteModeInFnType, ObsoleteByMutRefMode,
-    ObsoleteMoveInit, ObsoleteBinaryMove,
+    ObsoleteModeInFnType, ObsoleteMoveInit, ObsoleteBinaryMove,
 };
 use ast::{_mod, add, arg, arm, attribute,
              bind_by_ref, bind_by_implicit_ref, bind_by_value, bind_by_move,
@@ -627,12 +626,7 @@ impl Parser {
     }
 
     fn parse_arg_mode() -> mode {
-        if self.eat(token::BINOP(token::AND)) {
-            self.obsolete(copy self.span,
-                          ObsoleteByMutRefMode);
-            // Bogus mode, but doesn't matter since it's an error
-            expl(by_ref)
-        } else if self.eat(token::BINOP(token::MINUS)) {
+        if self.eat(token::BINOP(token::MINUS)) {
             expl(by_move)
         } else if self.eat(token::ANDAND) {
             expl(by_ref)
@@ -642,7 +636,9 @@ impl Parser {
             } else {
                 expl(by_copy)
             }
-        } else { infer(self.get_id()) }
+        } else {
+            infer(self.get_id())
+        }
     }
 
     fn is_named_argument() -> bool {