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
};
}
```
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 35ee1e5..da1322d 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,
@@ -194,6 +195,22 @@ fn foo() {
}
"#,
);
+
+ check_assist(
+ add_braces,
+ r#"
+fn foo() {
+ if let x =$0 n + 100 {}
+}
+"#,
+ r#"
+fn foo() {
+ if let x = {
+ n + 100
+ } {}
+}
+"#,
+ );
}
#[test]