7487: Forbid flyimport completions in use statements r=SomeoneToIgnore a=SomeoneToIgnore

Closes #7469

Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
This commit is contained in:
bors[bot] 2021-01-28 22:31:34 +00:00 committed by GitHub
commit 0ac4a8f354
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -68,7 +68,10 @@ pub(crate) fn import_on_the_fly(acc: &mut Completions, ctx: &CompletionContext)
if !ctx.config.enable_imports_on_the_fly { if !ctx.config.enable_imports_on_the_fly {
return None; return None;
} }
if ctx.attribute_under_caret.is_some() || ctx.mod_declaration_under_caret.is_some() { if ctx.use_item_syntax.is_some()
|| ctx.attribute_under_caret.is_some()
|| ctx.mod_declaration_under_caret.is_some()
{
return None; return None;
} }
let potential_import_name = { let potential_import_name = {
@ -664,4 +667,22 @@ fn weird_function() (dep::test_mod::TestTrait) -> () DEPRECATED
"#]], "#]],
); );
} }
#[test]
fn no_completions_in_use_statements() {
check(
r#"
//- /lib.rs crate:dep
pub mod io {
pub fn stdin() {}
};
//- /main.rs crate:main deps:dep
use stdi$0
fn main() {}
"#,
expect![[]],
);
}
} }