@@ -9,7 +9,9 @@ use rustc_ast::BindingMode;
99use rustc_data_structures:: fx:: FxHashMap ;
1010use rustc_errors:: Applicability ;
1111use rustc_hir:: def:: { CtorOf , DefKind , Res } ;
12- use rustc_hir:: { Arm , Expr , ExprKind , MatchSource , Pat , PatExpr , PatExprKind , PatKind , QPath , Stmt , StmtKind } ;
12+ use rustc_hir:: {
13+ Arm , BlockCheckMode , Expr , ExprKind , MatchSource , Pat , PatExpr , PatExprKind , PatKind , QPath , Stmt , StmtKind ,
14+ } ;
1315use rustc_lint:: { LateContext , LintContext } ;
1416use rustc_span:: Span ;
1517use rustc_span:: symbol:: { Symbol , sym} ;
@@ -177,7 +179,10 @@ fn emit_manual_let_else(
177179 let ( sn_expr, _) = snippet_with_context ( cx, expr. span , span. ctxt ( ) , "" , & mut app) ;
178180 let ( sn_else, else_is_mac_call) = snippet_with_context ( cx, else_body. span , span. ctxt ( ) , "" , & mut app) ;
179181
180- let else_bl = if matches ! ( else_body. kind, ExprKind :: Block ( ..) ) && !else_is_mac_call {
182+ let else_bl = if let ExprKind :: Block ( block, None ) = else_body. kind
183+ && matches ! ( block. rules, BlockCheckMode :: DefaultBlock )
184+ && !else_is_mac_call
185+ {
181186 sn_else. into_owned ( )
182187 } else {
183188 format ! ( "{{ {sn_else} }}" )
0 commit comments