about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorBrian Anderson <andersrb@gmail.com>2012-06-20 20:45:19 -0700
committerBrian Anderson <andersrb@gmail.com>2012-06-20 20:45:19 -0700
commit0a6943dd31e8002b2e0267b7539b55ba9da7490b (patch)
treed120c202b44e6eaaf1374b3dc6487aa017e06b7a /src/libsyntax/parse
parent8395305e71895b152e3f0abefb6cbc9e74f15a16 (diff)
parentf331cd9324e4c4246fb3f332720a444042267e69 (diff)
downloadrust-0a6943dd31e8002b2e0267b7539b55ba9da7490b.tar.gz
rust-0a6943dd31e8002b2e0267b7539b55ba9da7490b.zip
Merge pull request #2684 from mozilla/incoming
Incoming
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs27
-rw-r--r--src/libsyntax/parse/token.rs1
2 files changed, 3 insertions, 25 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 45badde0016..146c3ab3de9 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -829,14 +829,6 @@ class parser {
             let ex_ext = self.parse_syntax_ext();
             hi = ex_ext.span.hi;
             ex = ex_ext.node;
-        } else if self.eat_keyword("bind") {
-            let e = self.parse_expr_res(RESTRICT_NO_CALL_EXPRS);
-            let es = self.parse_unspanned_seq(
-                token::LPAREN, token::RPAREN,
-                seq_sep_trailing_disallowed(token::COMMA),
-                {|p| p.parse_expr_or_hole()});
-            hi = self.span.hi;
-            ex = expr_bind(e, es);
         } else if self.eat_keyword("fail") {
             if can_begin_expr(self.token) {
                 let e = self.parse_expr();
@@ -1008,19 +1000,13 @@ class parser {
             alt copy self.token {
               // expr(...)
               token::LPAREN if self.permits_call() {
-                let es_opt = self.parse_unspanned_seq(
+                let es = self.parse_unspanned_seq(
                     token::LPAREN, token::RPAREN,
                     seq_sep_trailing_disallowed(token::COMMA),
-                    {|p| p.parse_expr_or_hole()});
+                    {|p| p.parse_expr()});
                 hi = self.span.hi;
 
-                let nd =
-                    if vec::any(es_opt, {|e| option::is_none(e) }) {
-                    expr_bind(self.to_expr(e), es_opt)
-                } else {
-                    let es = vec::map(es_opt) {|e| option::get(e) };
-                    expr_call(self.to_expr(e), es, false)
-                };
+                let nd = expr_call(self.to_expr(e), es, false);
                 e = self.mk_pexpr(lo, hi, nd);
               }
 
@@ -1370,13 +1356,6 @@ class parser {
         ret self.parse_expr_res(UNRESTRICTED);
     }
 
-    fn parse_expr_or_hole() -> option<@expr> {
-        alt self.token {
-          token::UNDERSCORE { self.bump(); ret none; }
-          _ { ret some(self.parse_expr()); }
-        }
-    }
-
     fn parse_expr_res(r: restriction) -> @expr {
         let old = self.restriction;
         self.restriction = r;
diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs
index ec14778dc02..39327f1efad 100644
--- a/src/libsyntax/parse/token.rs
+++ b/src/libsyntax/parse/token.rs
@@ -250,7 +250,6 @@ fn contextual_keyword_table() -> hashmap<str, ()> {
     let words = str_hash();
     let keys = [
         "as",
-        "bind",
         "else",
         "implements",
         "move",