about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-05-12 02:01:32 +0200
committerMazdak Farrokhzad <twingoow@gmail.com>2019-05-12 02:01:32 +0200
commitb680b66dddf0d4ea4286c1ed921ac48511937923 (patch)
treeb7e02df777f8467771d8e8ade2753add6ea197e6 /src/libsyntax/parse
parent9b4a630baaba9bc36bce91d0721886f38ad1b182 (diff)
downloadrust-b680b66dddf0d4ea4286c1ed921ac48511937923.tar.gz
rust-b680b66dddf0d4ea4286c1ed921ac48511937923.zip
parse_bottom_expr: extract common 'return' out.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 36ee1949ad5..3eb5281e3b1 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -2643,13 +2643,12 @@ impl<'a> Parser<'a> {
                     hi = path.span;
                     return Ok(self.mk_expr(lo.to(hi), ExprKind::Path(Some(qself), path), attrs));
                 }
-                if self.span.rust_2018() && self.check_keyword(keywords::Async)
-                {
-                    if self.is_async_block() { // check for `async {` and `async move {`
-                        return self.parse_async_block(attrs);
+                if self.span.rust_2018() && self.check_keyword(keywords::Async) {
+                    return if self.is_async_block() { // check for `async {` and `async move {`
+                        self.parse_async_block(attrs)
                     } else {
-                        return self.parse_lambda_expr(attrs);
-                    }
+                        self.parse_lambda_expr(attrs)
+                    };
                 }
                 if self.check_keyword(keywords::Move) || self.check_keyword(keywords::Static) {
                     return self.parse_lambda_expr(attrs);