Unnamed repository; edit this file 'description' to name the repository.
Merge #10402
10402: fix: Don't show flyimport completions in use renames r=Veykril a=Veykril Fixes https://github.com/rust-analyzer/rust-analyzer/issues/10367 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
bors[bot] 2021-09-30
parent 529b7a4 · parent d7d16a7 · commit 4f3ce62
-rw-r--r--crates/ide_completion/src/completions/flyimport.rs13
-rw-r--r--crates/ide_completion/src/context.rs1
-rw-r--r--crates/ide_completion/src/patterns.rs2
3 files changed, 16 insertions, 0 deletions
diff --git a/crates/ide_completion/src/completions/flyimport.rs b/crates/ide_completion/src/completions/flyimport.rs
index 9e6d26640e..d7c8c54315 100644
--- a/crates/ide_completion/src/completions/flyimport.rs
+++ b/crates/ide_completion/src/completions/flyimport.rs
@@ -1220,4 +1220,17 @@ fn function() {
"#]],
);
}
+
+ #[test]
+ fn flyimport_rename() {
+ check(
+ r#"
+mod module {
+ pub struct Struct;
+}
+use self as Str$0;
+ "#,
+ expect![[r#""#]],
+ );
+ }
}
diff --git a/crates/ide_completion/src/context.rs b/crates/ide_completion/src/context.rs
index 9d3e894a3d..ddf8722bc8 100644
--- a/crates/ide_completion/src/context.rs
+++ b/crates/ide_completion/src/context.rs
@@ -383,6 +383,7 @@ impl<'a> CompletionContext<'a> {
| ImmediateLocation::ModDeclaration(_)
| ImmediateLocation::RecordPat(_)
| ImmediateLocation::RecordExpr(_)
+ | ImmediateLocation::Rename
)
)
}
diff --git a/crates/ide_completion/src/patterns.rs b/crates/ide_completion/src/patterns.rs
index 381a6a83aa..d5d81bf2f1 100644
--- a/crates/ide_completion/src/patterns.rs
+++ b/crates/ide_completion/src/patterns.rs
@@ -32,6 +32,7 @@ pub(crate) enum ImmediatePrevSibling {
pub(crate) enum ImmediateLocation {
Use,
UseTree,
+ Rename,
Impl,
Trait,
RecordField,
@@ -201,6 +202,7 @@ pub(crate) fn determine_location(
ast::Use(_it) => ImmediateLocation::Use,
ast::UseTree(_it) => ImmediateLocation::UseTree,
ast::UseTreeList(_it) => ImmediateLocation::UseTree,
+ ast::Rename(_it) => ImmediateLocation::Rename,
ast::StmtList(_it) => ImmediateLocation::StmtList,
ast::SourceFile(_it) => ImmediateLocation::ItemList,
ast::ItemList(_it) => ImmediateLocation::ItemList,