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\ }