From 7054fe309445d6c9275b87a40ba2122b321b5a31 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 23 Jul 2017 16:20:14 +0300 Subject: Lambda expressions honor no struct literal restriction --- src/libsyntax/parse/parser.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/libsyntax/parse') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 553cac80d82..ab0dab9a1eb 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3073,7 +3073,10 @@ impl<'a> Parser<'a> { let decl = self.parse_fn_block_decl()?; let decl_hi = self.prev_span; let body = match decl.output { - FunctionRetTy::Default(_) => self.parse_expr()?, + FunctionRetTy::Default(_) => { + let restrictions = self.restrictions - RESTRICTION_STMT_EXPR; + self.parse_expr_res(restrictions, None)? + }, _ => { // If an explicit return type is given, require a // block to appear (RFC 968). -- cgit 1.4.1-3-g733a5