),
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 => (
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() ||
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 `<TYPE as TRAIT_REF>::item`
let self_type = self.parse_ty_sum();
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();
}
})
}
- /// Parses the `(arg, arg) -> return_type` header on a procedure.
- fn parse_proc_decl(&mut self) -> P<FnDecl> {
- 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();
(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");