Do not import on the fly during fields of record literal syntax

This commit is contained in:
memoryruins 2021-04-06 18:40:06 -04:00
parent a35f7cb635
commit c201cce527

View file

@ -113,6 +113,7 @@ pub(crate) fn import_on_the_fly(acc: &mut Completions, ctx: &CompletionContext)
if ctx.use_item_syntax.is_some()
|| ctx.attribute_under_caret.is_some()
|| ctx.mod_declaration_under_caret.is_some()
|| ctx.record_lit_syntax.is_some()
{
return None;
}
@ -1034,4 +1035,46 @@ fn main() {
expect![[]],
);
}
#[test]
fn no_fuzzy_during_fields_of_record_lit_syntax() {
check(
r#"
mod m {
pub fn some_fn() -> i32() {
42
}
}
struct Foo {
some_field: i32,
}
fn main() {
let _ = Foo { so$0 };
}
"#,
expect![[]],
);
}
#[test]
fn fuzzy_after_fields_of_record_lit_syntax() {
check(
r#"
mod m {
pub fn some_fn() -> i32() {
42
}
}
struct Foo {
some_field: i32,
}
fn main() {
let _ = Foo { some_field: so$0 };
}
"#,
expect![[r#"
fn some_fn() (m::some_fn) fn() -> i32
"#]],
);
}
}