Unnamed repository; edit this file 'description' to name the repository.
Only offer block let fallback in match-arm
A4-Tacks 2 months ago
parent 176590e · commit 05fc0e6
-rw-r--r--crates/ide-completion/src/completions/postfix.rs7
-rw-r--r--crates/ide-completion/src/render.rs2
-rw-r--r--crates/ide-completion/src/tests/expression.rs14
3 files changed, 3 insertions, 20 deletions
diff --git a/crates/ide-completion/src/completions/postfix.rs b/crates/ide-completion/src/completions/postfix.rs
index 3a92903d05..067d906cd1 100644
--- a/crates/ide-completion/src/completions/postfix.rs
+++ b/crates/ide-completion/src/completions/postfix.rs
@@ -161,7 +161,7 @@ pub(crate) fn complete_postfix(
postfix_snippet("letm", "let mut", &format!("let mut $0 = {receiver_text};"))
.add_to(acc, ctx.db);
}
- _ => {
+ _ if ast::MatchArm::can_cast(second_ancestor.kind()) => {
postfix_snippet(
"let",
"let",
@@ -175,6 +175,7 @@ pub(crate) fn complete_postfix(
)
.add_to(acc, ctx.db);
}
+ _ => (),
}
}
@@ -594,8 +595,6 @@ fn main() {
sn dbgr dbg!(&expr)
sn deref *expr
sn if if expr {}
- sn let let
- sn letm let mut
sn match match expr {}
sn not !expr
sn ref &expr
@@ -811,7 +810,7 @@ fn main() {
}
#[test]
- fn let_fallback_block() {
+ fn match_arm_let_block() {
check(
r#"
fn main() {
diff --git a/crates/ide-completion/src/render.rs b/crates/ide-completion/src/render.rs
index 7a7b054b39..765304d818 100644
--- a/crates/ide-completion/src/render.rs
+++ b/crates/ide-completion/src/render.rs
@@ -3033,8 +3033,6 @@ fn main() {
sn dbgr dbg!(&expr) []
sn deref *expr []
sn if if expr {} []
- sn let let []
- sn letm let mut []
sn match match expr {} []
sn ref &expr []
sn refm &mut expr []
diff --git a/crates/ide-completion/src/tests/expression.rs b/crates/ide-completion/src/tests/expression.rs
index b9b0f76c88..df39591a33 100644
--- a/crates/ide-completion/src/tests/expression.rs
+++ b/crates/ide-completion/src/tests/expression.rs
@@ -2341,8 +2341,6 @@ fn main() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr
@@ -2370,8 +2368,6 @@ fn main() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr
@@ -2403,8 +2399,6 @@ fn main() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr
@@ -2432,8 +2426,6 @@ fn main() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr
@@ -2461,8 +2453,6 @@ fn main() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr
@@ -2490,8 +2480,6 @@ fn main() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr
@@ -3280,8 +3268,6 @@ fn foo() {
sn dbg dbg!(expr)
sn dbgr dbg!(&expr)
sn deref *expr
- sn let let
- sn letm let mut
sn match match expr {}
sn ref &expr
sn refm &mut expr