about summary refs log tree commit diff
path: root/src/libsyntax/parse/parser/item.rs
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-10-01 06:10:06 +0200
committerMazdak Farrokhzad <twingoow@gmail.com>2019-10-01 06:10:06 +0200
commit5c5dd8069d0aeeb97ef6b6099767f97aec1edee4 (patch)
treebbd7f769f1e3fbab718a3a193b77d3e48ccf9dca /src/libsyntax/parse/parser/item.rs
parente04690440b6d77b4da9bfcf593a641133033ae44 (diff)
downloadrust-5c5dd8069d0aeeb97ef6b6099767f97aec1edee4.tar.gz
rust-5c5dd8069d0aeeb97ef6b6099767f97aec1edee4.zip
syntax: reformat passing of `FnHeader` to `parse_item_fn`.
Diffstat (limited to 'src/libsyntax/parse/parser/item.rs')
-rw-r--r--src/libsyntax/parse/parser/item.rs28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/libsyntax/parse/parser/item.rs b/src/libsyntax/parse/parser/item.rs
index e8ca264f1c5..c00a5807d52 100644
--- a/src/libsyntax/parse/parser/item.rs
+++ b/src/libsyntax/parse/parser/item.rs
@@ -122,12 +122,13 @@ impl<'a> Parser<'a> {
             if self.eat_keyword(kw::Fn) {
                 // EXTERN FUNCTION ITEM
                 let fn_span = self.prev_span;
-                return self.parse_item_fn(lo, visibility, attrs, FnHeader {
+                let header = FnHeader {
                     unsafety: Unsafety::Normal,
                     asyncness: respan(fn_span, IsAsync::NotAsync),
                     constness: respan(fn_span, Constness::NotConst),
                     abi: opt_abi.unwrap_or(Abi::C),
-                });
+                };
+                return self.parse_item_fn(lo, visibility, attrs, header);
             } else if self.check(&token::OpenDelim(token::Brace)) {
                 return Ok(Some(
                     self.parse_item_foreign_mod(lo, opt_abi, visibility, attrs, extern_sp)?,
@@ -154,12 +155,13 @@ impl<'a> Parser<'a> {
                 // CONST FUNCTION ITEM
                 let unsafety = self.parse_unsafety();
                 self.bump();
-                return self.parse_item_fn(lo, visibility, attrs, FnHeader {
+                let header = FnHeader {
                     unsafety,
                     asyncness: respan(const_span, IsAsync::NotAsync),
                     constness: respan(const_span, Constness::Const),
                     abi: Abi::Rust,
-                });
+                };
+                return self.parse_item_fn(lo, visibility, attrs, header);
             }
 
             // CONST ITEM
@@ -196,14 +198,14 @@ impl<'a> Parser<'a> {
                     closure_id: DUMMY_NODE_ID,
                     return_impl_trait_id: DUMMY_NODE_ID,
                 });
-                let item = self.parse_item_fn(lo, visibility, attrs, FnHeader {
+                self.ban_async_in_2015(async_span);
+                let header = FnHeader {
                     unsafety,
                     asyncness,
                     constness: respan(fn_span, Constness::NotConst),
                     abi: Abi::Rust,
-                })?;
-                self.ban_async_in_2015(async_span);
-                return Ok(item);
+                };
+                return self.parse_item_fn(lo, visibility, attrs, header);
             }
         }
         if self.check_keyword(kw::Unsafe) &&
@@ -241,12 +243,13 @@ impl<'a> Parser<'a> {
             // FUNCTION ITEM
             self.bump();
             let fn_span = self.prev_span;
-            return self.parse_item_fn(lo, visibility, attrs, FnHeader {
+            let header = FnHeader {
                 unsafety: Unsafety::Normal,
                 asyncness: respan(fn_span, IsAsync::NotAsync),
                 constness: respan(fn_span, Constness::NotConst),
                 abi: Abi::Rust,
-            });
+            };
+            return self.parse_item_fn(lo, visibility, attrs, header);
         }
         if self.check_keyword(kw::Unsafe)
             && self.look_ahead(1, |t| *t != token::OpenDelim(token::Brace)) {
@@ -261,12 +264,13 @@ impl<'a> Parser<'a> {
             };
             self.expect_keyword(kw::Fn)?;
             let fn_span = self.prev_span;
-            return self.parse_item_fn(lo, visibility, attrs, FnHeader {
+            let header = FnHeader {
                 unsafety: Unsafety::Unsafe,
                 asyncness: respan(fn_span, IsAsync::NotAsync),
                 constness: respan(fn_span, Constness::NotConst),
                 abi,
-            });
+            };
+            return self.parse_item_fn(lo, visibility, attrs, header);
         }
         if self.eat_keyword(kw::Mod) {
             // MODULE ITEM