diff --git a/src/expr.rs b/src/expr.rs index 28fb3de11b..95da090885 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -2112,7 +2112,11 @@ pub(crate) mod parsing { let_token: input.parse()?, pat: pat::parsing::multi_pat_with_leading_vert(input)?, eq_token: input.parse()?, - expr: Box::new(input.call(Expr::parse_without_eager_brace)?), + expr: Box::new({ + let allow_struct = AllowStruct(false); + let lhs = unary_expr(input, allow_struct)?; + parse_expr(input, lhs, allow_struct, Precedence::Compare)? + }), }) } } diff --git a/tests/repo/mod.rs b/tests/repo/mod.rs index ef84445fb6..79e3018b41 100644 --- a/tests/repo/mod.rs +++ b/tests/repo/mod.rs @@ -14,14 +14,6 @@ const REVISION: &str = "5e57faa78aa7661c6000204591558f6665f11abc"; #[rustfmt::skip] static EXCLUDE: &[&str] = &[ - // TODO: let chains - "src/test/ui/expr/if/attrs/let-chains-attr.rs", - "src/test/ui/mir/mir_let_chains_drop_order.rs", - "src/test/ui/rfc-2497-if-let-chains/ast-lowering-does-not-wrap-let-chains.rs", - "src/test/ui/rfc-2497-if-let-chains/irrefutable-lets.rs", - "src/test/ui/rfc-2497-if-let-chains/issue-90722.rs", - "src/test/ui/rfc-2497-if-let-chains/then-else-blocks.rs", - // TODO: impl ~const T {} // https://github.com/dtolnay/syn/issues/1051 "src/test/ui/rfc-2632-const-trait-impl/syntax.rs",