Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-assists/src/handlers/bind_unused_param.rs')
-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;
+}
+"#,
+ );
+ }
}