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/parser.rs | 29 +---------------------------- 1 file changed, 1 insertion(+), 28 deletions(-) (limited to 'src/libsyntax/parse/parser.rs') 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(); -- cgit 1.4.1-3-g733a5 From a07945d663f4d5767314454bb8265723178bf26c Mon Sep 17 00:00:00 2001 From: Guillaume Gomez Date: Wed, 11 Mar 2015 00:09:42 +0100 Subject: Remove ProcType and ProcExp --- src/libsyntax/parse/obsolete.rs | 12 ------------ src/libsyntax/parse/parser.rs | 29 ----------------------------- 2 files changed, 41 deletions(-) (limited to 'src/libsyntax/parse/parser.rs') diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index d853fbba8d4..ee646d95f35 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -24,8 +24,6 @@ use ptr::P; pub enum ObsoleteSyntax { Sized, ForSized, - ProcType, - ProcExpr, ClosureType, ClosureKind, EmptyIndex, @@ -57,16 +55,6 @@ impl<'a> ParserObsoleteMethods for parser::Parser<'a> { by default", true, ), - ObsoleteSyntax::ProcType => ( - "the `proc` type", - "is not used for moment, use unboxed closures instead", - true, - ), - ObsoleteSyntax::ProcExpr => ( - "`proc` expression", - "is not used for the moment, use a `move ||` expression instead", - true, - ), ObsoleteSyntax::ClosureType => ( "`|usize| -> bool` closure type", "use unboxed closures instead, no type annotation needed", diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 7535e060c55..b0ae612d4b0 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -1119,35 +1119,6 @@ impl<'a> Parser<'a> { })) } - /// Parses a procedure type (`proc`). The initial `proc` keyword must - /// already have been parsed. - pub fn parse_proc_type(&mut self, lifetime_defs: Vec) -> Ty_ { - /* - - proc <'lt> (S) [:Bounds] -> T - ^~~^ ^~~~^ ^ ^~~~~~~~^ ^ - | | | | | - | | | | Return type - | | | Bounds - | | Argument types - | Legacy lifetimes - the `proc` keyword (already consumed) - - */ - - let proc_span = self.last_span; - - // To be helpful, parse the proc as ever - let _ = self.parse_legacy_lifetime_defs(lifetime_defs); - let _ = self.parse_fn_args(false, false); - let _ = self.parse_colon_then_ty_param_bounds(BoundParsingMode::Bare); - let _ = self.parse_ret_ty(); - - self.obsolete(proc_span, ObsoleteSyntax::ProcType); - - TyInfer - } - /// Parses an obsolete closure kind (`&:`, `&mut:`, or `:`). pub fn parse_obsolete_closure_kind(&mut self) { let lo = self.span.lo; -- cgit 1.4.1-3-g733a5