From dc8d64dbd4541fa1886aa54537baa1bb98722674 Mon Sep 17 00:00:00 2001 From: A4-Tacks Date: Sat, 21 Mar 2026 16:16:03 +0800 Subject: [PATCH] feat: offer 'add_braces' on bin-expr assignment Example --- ```rust fn foo() { let x; x =$0 n + 100; } ``` **Before this PR** Assist not applicable **After this PR** ```rust fn foo() { let x; x = { n + 100 }; } ``` --- .../ide-assists/src/handlers/add_braces.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_braces.rs b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_braces.rs index 35ee1e5a7816..da1322de4b64 100644 --- a/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_braces.rs +++ b/src/tools/rust-analyzer/crates/ide-assists/src/handlers/add_braces.rs @@ -84,6 +84,7 @@ fn get_replacement_node(ctx: &AssistContext<'_>) -> Option<(ParentType, ast::Exp match parent { ast::LetStmt(it) => it.initializer()?, ast::LetExpr(it) => it.expr()?, + ast::BinExpr(it) => it.rhs()?, ast::Static(it) => it.body()?, ast::Const(it) => it.body()?, _ => return None, @@ -192,6 +193,22 @@ fn foo() { n + 100 }; } +"#, + ); + + check_assist( + add_braces, + r#" +fn foo() { + if let x =$0 n + 100 {} +} +"#, + r#" +fn foo() { + if let x = { + n + 100 + } {} +} "#, ); }