mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 06:11:35 +00:00
complete_import: prevent panic when the anchor is the completion source range
(fix rebase mess) Please enter the commit message for your changes. Lines starting
This commit is contained in:
parent
9144214958
commit
200032852b
3 changed files with 18 additions and 16 deletions
|
@ -23,13 +23,23 @@ pub(super) fn complete_scope(acc: &mut Completions, ctx: &CompletionContext) {
|
|||
);
|
||||
builder.finish()
|
||||
};
|
||||
CompletionItem::new(
|
||||
CompletionKind::Reference,
|
||||
ctx.source_range(),
|
||||
build_import_label(&name, &path),
|
||||
)
|
||||
.text_edit(edit)
|
||||
.add_to(acc)
|
||||
|
||||
// Hack: copied this check form conv.rs beacause auto import can produce edits
|
||||
// that invalidate assert in conv_with.
|
||||
if edit
|
||||
.as_atoms()
|
||||
.iter()
|
||||
.filter(|atom| !ctx.source_range().is_subrange(&atom.delete))
|
||||
.all(|atom| ctx.source_range().intersection(&atom.delete).is_none())
|
||||
{
|
||||
CompletionItem::new(
|
||||
CompletionKind::Reference,
|
||||
ctx.source_range(),
|
||||
build_import_label(&name, &path),
|
||||
)
|
||||
.text_edit(edit)
|
||||
.add_to(acc);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue