about summary refs log tree commit diff
path: root/src/libsyntax/parse
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
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')
-rw-r--r--src/libsyntax/parse/obsolete.rs5
-rw-r--r--src/libsyntax/parse/parser.rs14
2 files changed, 5 insertions, 14 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs
index 07ce7f4a268..89f2ef4d939 100644
--- a/src/libsyntax/parse/obsolete.rs
+++ b/src/libsyntax/parse/obsolete.rs
@@ -23,7 +23,6 @@ pub enum ObsoleteSyntax {
     ObsoleteClassTraits,
     ObsoletePrivSection,
     ObsoleteModeInFnType,
-    ObsoleteByMutRefMode,
     ObsoleteMoveInit,
     ObsoleteBinaryMove
 }
@@ -106,10 +105,6 @@ impl Parser : ObsoleteReporter {
                 "to use a (deprecated) mode in a fn type, you should \
                  give the argument an explicit name (like `&&v: int`)"
             ),
-            ObsoleteByMutRefMode => (
-                "by-mutable-reference mode",
-                "Declare an argument of type &mut T instead"
-            ),
             ObsoleteMoveInit => (
                 "initializer-by-move",
                 "Write `let foo = move bar` instead"
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 {