about summary refs log tree commit diff
path: root/compiler/rustc_ast_pretty/src
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@gmail.com>2024-05-12 13:39:43 -0700
committerDavid Tolnay <dtolnay@gmail.com>2024-05-12 13:42:37 -0700
commit94cc82c088b9301dc4dcf84ce127a64bbd77dddf (patch)
tree1078496076e4fce603edc376fb6f0c5f1d7adfc7 /compiler/rustc_ast_pretty/src
parent68854b798ebda70014985d26722e7f6820254658 (diff)
downloadrust-94cc82c088b9301dc4dcf84ce127a64bbd77dddf.tar.gz
rust-94cc82c088b9301dc4dcf84ce127a64bbd77dddf.zip
Pretty-print let-else with added parenthesization when needed
Diffstat (limited to 'compiler/rustc_ast_pretty/src')
-rw-r--r--compiler/rustc_ast_pretty/src/pprust/state.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_ast_pretty/src/pprust/state.rs b/compiler/rustc_ast_pretty/src/pprust/state.rs
index 2c176828c84..b7bdb2e14a6 100644
--- a/compiler/rustc_ast_pretty/src/pprust/state.rs
+++ b/compiler/rustc_ast_pretty/src/pprust/state.rs
@@ -1238,7 +1238,11 @@ impl<'a> State<'a> {
                 if let Some((init, els)) = loc.kind.init_else_opt() {
                     self.nbsp();
                     self.word_space("=");
-                    self.print_expr(init, FixupContext::default());
+                    self.print_expr_cond_paren(
+                        init,
+                        els.is_some() && classify::expr_trailing_brace(init).is_some(),
+                        FixupContext::default(),
+                    );
                     if let Some(els) = els {
                         self.cbox(INDENT_UNIT);
                         self.ibox(INDENT_UNIT);