Unnamed repository; edit this file 'description' to name the repository.
Merge pull request #21264 from A4-Tacks/bind-unused-not-applicable-on-closure
Fix bind_unused_param applicable on closure
Lukas Wirth 4 months ago
parent 67db756 · parent 1b3ae5f · commit 7c063a5
-rw-r--r--crates/ide-assists/src/handlers/bind_unused_param.rs14
1 files changed, 13 insertions, 1 deletions
diff --git a/crates/ide-assists/src/handlers/bind_unused_param.rs b/crates/ide-assists/src/handlers/bind_unused_param.rs
index 1b24f7fe7f..771e80bb92 100644
--- a/crates/ide-assists/src/handlers/bind_unused_param.rs
+++ b/crates/ide-assists/src/handlers/bind_unused_param.rs
@@ -33,7 +33,7 @@ pub(crate) fn bind_unused_param(acc: &mut Assists, ctx: &AssistContext<'_>) -> O
return None;
}
- let func = param.syntax().ancestors().find_map(ast::Fn::cast)?;
+ let func = param.syntax().ancestors().nth(2).and_then(ast::Fn::cast)?;
let stmt_list = func.body()?.stmt_list()?;
let l_curly_range = stmt_list.l_curly_token()?.text_range();
let r_curly_range = stmt_list.r_curly_token()?.text_range();
@@ -179,4 +179,16 @@ fn foo($0_x: i32, y: i32) {}
"#,
);
}
+
+ #[test]
+ fn not_applicable_closure() {
+ check_assist_not_applicable(
+ bind_unused_param,
+ r#"
+fn foo() {
+ let _ = |$0x| 2;
+}
+"#,
+ );
+ }
}