diff --git a/src/librustc_parse/parser/expr.rs b/src/librustc_parse/parser/expr.rs index ce0a3e188776..acc7bfd3f8a1 100644 --- a/src/librustc_parse/parser/expr.rs +++ b/src/librustc_parse/parser/expr.rs @@ -1360,26 +1360,24 @@ impl<'a> Parser<'a> { /// Parses the `|arg, arg|` header of a closure. fn parse_fn_block_decl(&mut self) -> PResult<'a, P> { - let inputs_captures = { - if self.eat(&token::OrOr) { - Vec::new() - } else { - self.expect(&token::BinOp(token::Or))?; - let args = self - .parse_seq_to_before_tokens( - &[&token::BinOp(token::Or), &token::OrOr], - SeqSep::trailing_allowed(token::Comma), - TokenExpectType::NoExpect, - |p| p.parse_fn_block_param(), - )? - .0; - self.expect_or()?; - args - } + let inputs = if self.eat(&token::OrOr) { + Vec::new() + } else { + self.expect(&token::BinOp(token::Or))?; + let args = self + .parse_seq_to_before_tokens( + &[&token::BinOp(token::Or), &token::OrOr], + SeqSep::trailing_allowed(token::Comma), + TokenExpectType::NoExpect, + |p| p.parse_fn_block_param(), + )? + .0; + self.expect_or()?; + args }; let output = self.parse_ret_ty(true, true)?; - Ok(P(FnDecl { inputs: inputs_captures, output })) + Ok(P(FnDecl { inputs, output })) } /// Parses a parameter in a closure header (e.g., `|arg, arg|`).