diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-11-29 11:58:12 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-11-29 12:06:36 -0800 |
| commit | c946c87b6f9cd536309dfba09abdc9af32729f34 (patch) | |
| tree | 60586097d2add1df3b440012a257517e41574218 /src/libsyntax/parse | |
| parent | 3beff12309f4e78c74a9353eb0b68c2c8bf8e887 (diff) | |
| download | rust-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.rs | 5 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 14 |
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 { |
