Unnamed repository; edit this file 'description' to name the repository.
Merge pull request #20838 from A4-Tacks/conv-to-guard-ret-exist-else
Fix applicable on let-else for convert_to_guarded_return
Shoyu Vanilla (Flint) 6 months ago
parent c5181db · parent 7509d80 · commit 6c3f962
-rw-r--r--crates/ide-assists/src/handlers/convert_to_guarded_return.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/crates/ide-assists/src/handlers/convert_to_guarded_return.rs b/crates/ide-assists/src/handlers/convert_to_guarded_return.rs
index 82213ae321..7bbe13bedd 100644
--- a/crates/ide-assists/src/handlers/convert_to_guarded_return.rs
+++ b/crates/ide-assists/src/handlers/convert_to_guarded_return.rs
@@ -182,7 +182,7 @@ fn let_stmt_to_guarded_return(
let cursor_in_range =
let_token_range.cover(let_pattern_range).contains_range(ctx.selection_trimmed());
- if !cursor_in_range {
+ if !cursor_in_range || let_stmt.let_else().is_some() {
return None;
}
@@ -912,6 +912,19 @@ fn main() {
}
#[test]
+ fn ignore_let_else_branch() {
+ check_assist_not_applicable(
+ convert_to_guarded_return,
+ r#"
+//- minicore: option
+fn main() {
+ let$0 Some(x) = Some(2) else { return };
+}
+"#,
+ );
+ }
+
+ #[test]
fn ignore_statements_after_if() {
check_assist_not_applicable(
convert_to_guarded_return,