From 4e877adddf7b2f7d9093bf26cd8649f30c04b834 Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Sun, 8 Mar 2015 00:58:45 +0100 Subject: Remove proc keyword --- src/libsyntax/parse/obsolete.rs | 4 ++-- src/libsyntax/parse/parser.rs | 29 +---------------------------- src/libsyntax/parse/token.rs | 8 ++++---- 3 files changed, 7 insertions(+), 34 deletions(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index e6bcb8ac745..d853fbba8d4 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -59,12 +59,12 @@ impl<'a> ParserObsoleteMethods for parser::Parser<'a> { ), ObsoleteSyntax::ProcType => ( "the `proc` type", - "use unboxed closures instead", + "is not used for moment, use unboxed closures instead", true, ), ObsoleteSyntax::ProcExpr => ( "`proc` expression", - "use a `move ||` expression instead", + "is not used for the moment, use a `move ||` expression instead", true, ), ObsoleteSyntax::ClosureType => ( diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 28d757e9be9..7535e060c55 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1051,9 +1051,7 @@ impl<'a> Parser<'a> { let lifetime_defs = self.parse_late_bound_lifetime_defs(); // examine next token to decide to do - if self.eat_keyword_noexpect(keywords::Proc) { - self.parse_proc_type(lifetime_defs) - } else if self.token_is_bare_fn_keyword() || self.token_is_closure_keyword() { + if self.token_is_bare_fn_keyword() || self.token_is_closure_keyword() { self.parse_ty_bare_fn_or_ty_closure(lifetime_defs) } else if self.check(&token::ModSep) || self.token.is_ident() || @@ -1522,8 +1520,6 @@ impl<'a> Parser<'a> { let e = self.parse_expr(); self.expect(&token::CloseDelim(token::Paren)); TyTypeof(e) - } else if self.eat_keyword_noexpect(keywords::Proc) { - self.parse_proc_type(Vec::new()) } else if self.eat_lt() { // QUALIFIED PATH `::item` let self_type = self.parse_ty_sum(); @@ -2285,12 +2281,6 @@ impl<'a> Parser<'a> { if self.eat_keyword(keywords::Move) { return self.parse_lambda_expr(CaptureByValue); } - if self.eat_keyword_noexpect(keywords::Proc) { - let span = self.last_span; - let _ = self.parse_proc_decl(); - let _ = self.parse_expr(); - return self.obsolete_expr(span, ObsoleteSyntax::ProcExpr); - } if self.eat_keyword(keywords::If) { return self.parse_if_expr(); } @@ -4645,23 +4635,6 @@ impl<'a> Parser<'a> { }) } - /// Parses the `(arg, arg) -> return_type` header on a procedure. - fn parse_proc_decl(&mut self) -> P { - let inputs = - self.parse_unspanned_seq(&token::OpenDelim(token::Paren), - &token::CloseDelim(token::Paren), - seq_sep_trailing_allowed(token::Comma), - |p| p.parse_fn_block_arg()); - - let output = self.parse_ret_ty(); - - P(FnDecl { - inputs: inputs, - output: output, - variadic: false - }) - } - /// Parse the name and optional generic types of a function header. fn parse_fn_header(&mut self) -> (Ident, ast::Generics) { let id = self.parse_ident(); diff --git a/src/libsyntax/parse/token.rs b/src/libsyntax/parse/token.rs index 61a3a5ca82a..4a3ea971c7a 100644 --- a/src/libsyntax/parse/token.rs +++ b/src/libsyntax/parse/token.rs @@ -561,11 +561,11 @@ declare_special_idents_and_keywords! { (39, Virtual, "virtual"); (40, While, "while"); (41, Continue, "continue"); - (42, Proc, "proc"); - (43, Box, "box"); - (44, Const, "const"); - (45, Where, "where"); + (42, Box, "box"); + (43, Const, "const"); + (44, Where, "where"); 'reserved: + (45, Proc, "proc"); (46, Alignof, "alignof"); (47, Become, "become"); (48, Offsetof, "offsetof"); -- cgit 1.4.1-3-g733a5