From 0be31d945e380471c0183884f57af85b812d6497 Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Sun, 5 Jun 2022 20:29:36 +0200 Subject: [PATCH] fix: Fix trait impl completions using wrong insert position --- .../src/completions/item_list/trait_impl.rs | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/crates/ide-completion/src/completions/item_list/trait_impl.rs b/crates/ide-completion/src/completions/item_list/trait_impl.rs index 8a2bbae73f4c..56f656f47946 100644 --- a/crates/ide-completion/src/completions/item_list/trait_impl.rs +++ b/crates/ide-completion/src/completions/item_list/trait_impl.rs @@ -118,7 +118,7 @@ fn completion_match(ctx: &CompletionContext) -> Option<(ImplCompletionKind, Text ImplCompletionKind::All, match nameref { Some(name) => name.syntax().text_range(), - None => TextRange::empty(ctx.position.offset), + None => ctx.source_range(), }, ctx.impl_def.clone()?, )), @@ -688,6 +688,27 @@ trait Test { type SomeType; } +impl Test for () { + type SomeType = $0;\n\ +} +", + ); + check_edit( + "type SomeType", + r#" +trait Test { + type SomeType; +} + +impl Test for () { + type$0 +} +"#, + " +trait Test { + type SomeType; +} + impl Test for () { type SomeType = $0;\n\ }