mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-26 13:03:31 +00:00
Re-enable IDE features for incomplete impl blocs
This commit is contained in:
parent
8e1ebbcc13
commit
4399eff2d0
3 changed files with 21 additions and 3 deletions
|
@ -450,8 +450,9 @@ impl Ctx {
|
|||
|
||||
// We cannot use `assoc_items()` here as that does not include macro calls.
|
||||
let items = impl_def
|
||||
.item_list()?
|
||||
.items()
|
||||
.item_list()
|
||||
.into_iter()
|
||||
.flat_map(|it| it.items())
|
||||
.filter_map(|item| {
|
||||
self.collect_inner_items(item.syntax());
|
||||
let assoc = self.lower_assoc_item(&item)?;
|
||||
|
|
|
@ -638,4 +638,21 @@ fn f() {}
|
|||
expect![[""]],
|
||||
)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn completes_type_or_trait_in_impl_block() {
|
||||
check(
|
||||
r#"
|
||||
trait MyTrait {}
|
||||
struct MyStruct {}
|
||||
|
||||
impl My<|>
|
||||
"#,
|
||||
expect![[r#"
|
||||
st MyStruct
|
||||
tt MyTrait
|
||||
tp Self
|
||||
"#]],
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -58,7 +58,7 @@ pub struct CompletionItem {
|
|||
score: Option<CompletionScore>,
|
||||
}
|
||||
|
||||
// We use custom debug for CompletionItem to make `insta`'s diffs more readable.
|
||||
// We use custom debug for CompletionItem to make snapshot tests more readable.
|
||||
impl fmt::Debug for CompletionItem {
|
||||
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
|
||||
let mut s = f.debug_struct("CompletionItem");
|
||||
|
|
Loading…
Reference in a new issue