diff options
| author | Ryan Mehri <ryan.mehri1@gmail.com> | 2023-09-21 21:31:15 -0700 |
|---|---|---|
| committer | Ryan Mehri <ryan.mehri1@gmail.com> | 2023-09-21 21:31:15 -0700 |
| commit | 60f7473c997a33cd59d8530f8aa1588bd622d296 (patch) | |
| tree | 6b416ef72bd34f6c7b102bd268eddab2bc2709c0 | |
| parent | d6fef2c7e3be2783369b4b84e320b163b8fd291a (diff) | |
| download | rust-60f7473c997a33cd59d8530f8aa1588bd622d296.tar.gz rust-60f7473c997a33cd59d8530f8aa1588bd622d296.zip | |
fix parens when inlining closure local variables
| -rw-r--r-- | crates/ide-assists/src/handlers/inline_local_variable.rs | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/crates/ide-assists/src/handlers/inline_local_variable.rs b/crates/ide-assists/src/handlers/inline_local_variable.rs index e69d1a29677..49dcde75d2b 100644 --- a/crates/ide-assists/src/handlers/inline_local_variable.rs +++ b/crates/ide-assists/src/handlers/inline_local_variable.rs @@ -96,8 +96,7 @@ pub(crate) fn inline_local_variable(acc: &mut Assists, ctx: &AssistContext<'_>) ); let parent = matches!( usage_parent, - ast::Expr::CallExpr(_) - | ast::Expr::TupleExpr(_) + ast::Expr::TupleExpr(_) | ast::Expr::ArrayExpr(_) | ast::Expr::ParenExpr(_) | ast::Expr::ForExpr(_) @@ -952,4 +951,22 @@ fn f() { "#, ); } + + #[test] + fn test_inline_closure() { + check_assist( + inline_local_variable, + r#" +fn main() { + let $0f = || 2; + let _ = f(); +} +"#, + r#" +fn main() { + let _ = (|| 2)(); +} +"#, + ); + } } |
