]> git.lizzy.rs Git - rust.git/commitdiff
parse_ptr -> parse_ty_ptr & refactor
authorMazdak Farrokhzad <twingoow@gmail.com>
Sun, 8 Dec 2019 06:58:45 +0000 (07:58 +0100)
committerMazdak Farrokhzad <twingoow@gmail.com>
Sat, 21 Dec 2019 17:34:00 +0000 (18:34 +0100)
src/librustc_parse/parser/ty.rs

index 716bdf7bb1259fc5276d8ca0485f174123d1aaa2..9ea5a88ddadf9e44f9fa63ce325dc17a1da5b97f 100644 (file)
@@ -79,8 +79,7 @@ fn parse_ty_common(
             // Never type `!`
             TyKind::Never
         } else if self.eat(&token::BinOp(token::Star)) {
-            // Raw pointer
-            TyKind::Ptr(self.parse_ptr()?)
+            self.parse_ty_ptr()?
         } else if self.eat(&token::OpenDelim(token::Bracket)) {
             // Array or slice
             let t = self.parse_ty()?;
@@ -251,7 +250,8 @@ fn parse_remaining_bounds(&mut self, generic_params: Vec<GenericParam>, path: as
         Ok(TyKind::TraitObject(bounds, TraitObjectSyntax::None))
     }
 
-    fn parse_ptr(&mut self) -> PResult<'a, MutTy> {
+    /// Parses a raw pointer type: `*[const | mut] $type`.
+    fn parse_ty_ptr(&mut self) -> PResult<'a, TyKind> {
         let mutbl = self.parse_const_or_mut().unwrap_or_else(|| {
             let span = self.prev_span;
             let msg = "expected mut or const in raw pointer type";
@@ -261,8 +261,8 @@ fn parse_ptr(&mut self) -> PResult<'a, MutTy> {
                 .emit();
             Mutability::Immutable
         });
-        let t = self.parse_ty_no_plus()?;
-        Ok(MutTy { ty: t, mutbl })
+        let ty = self.parse_ty_no_plus()?;
+        Ok(TyKind::Ptr(MutTy { ty, mutbl }))
     }
 
     fn maybe_parse_fixed_length_of_vec(&mut self) -> PResult<'a, Option<P<ast::Expr>>> {