about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorP1start <rewi-github@whanau.org>2014-08-29 17:16:23 +1200
committerP1start <rewi-github@whanau.org>2014-08-29 17:24:55 +1200
commitb220db03bd334b2e74c4dfd62ed1318941b82a3c (patch)
tree8ac623aa515b3b959600356b202e7b2d4696f8c4 /src/libsyntax
parentdee8423531bf88752e14ebfbdc2c1d1ade8a8fa7 (diff)
downloadrust-b220db03bd334b2e74c4dfd62ed1318941b82a3c.tar.gz
rust-b220db03bd334b2e74c4dfd62ed1318941b82a3c.zip
Allow `!` as the return type of proc/closure literals
Fixes #13490.
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/parse/parser.rs20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 37bda15ac2c..c70a171ff7b 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -4092,20 +4092,20 @@ impl<'a> Parser<'a> {
                 (optional_unboxed_closure_kind, args)
             }
         };
-        let output = if self.eat(&token::RARROW) {
-            self.parse_ty(true)
+        let (style, output) = if self.token == token::RARROW {
+            self.parse_ret_ty()
         } else {
-            P(Ty {
+            (Return, P(Ty {
                 id: ast::DUMMY_NODE_ID,
                 node: TyInfer,
                 span: self.span,
-            })
+            }))
         };
 
         (P(FnDecl {
             inputs: inputs_captures,
             output: output,
-            cf: Return,
+            cf: style,
             variadic: false
         }), optional_unboxed_closure_kind)
     }
@@ -4118,20 +4118,20 @@ impl<'a> Parser<'a> {
                                      seq_sep_trailing_allowed(token::COMMA),
                                      |p| p.parse_fn_block_arg());
 
-        let output = if self.eat(&token::RARROW) {
-            self.parse_ty(true)
+        let (style, output) = if self.token == token::RARROW {
+            self.parse_ret_ty()
         } else {
-            P(Ty {
+            (Return, P(Ty {
                 id: ast::DUMMY_NODE_ID,
                 node: TyInfer,
                 span: self.span,
-            })
+            }))
         };
 
         P(FnDecl {
             inputs: inputs,
             output: output,
-            cf: Return,
+            cf: style,
             variadic: false
         })
     }