Auto merge of #12906 - cynecx:fix-completions, r=Veykril
fix: complete path of existing record expr
This commit is contained in:
commit
fb5e49631b
@ -939,10 +939,12 @@ fn classify_name_ref(
|
||||
ast::Meta(meta) => make_path_kind_attr(meta)?,
|
||||
ast::Visibility(it) => PathKind::Vis { has_in_token: it.in_token().is_some() },
|
||||
ast::UseTree(_) => PathKind::Use,
|
||||
ast::RecordExpr(it) => make_path_kind_expr(it.into()),
|
||||
_ => return None,
|
||||
}
|
||||
}
|
||||
},
|
||||
ast::RecordExpr(it) => make_path_kind_expr(it.into()),
|
||||
_ => return None,
|
||||
}
|
||||
};
|
||||
|
@ -651,3 +651,22 @@ fn bar(…) fn(impl Trait<U>)
|
||||
"]],
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn complete_record_expr_path() {
|
||||
check(
|
||||
r#"
|
||||
struct Zulu;
|
||||
impl Zulu {
|
||||
fn test() -> Self { }
|
||||
}
|
||||
fn boi(val: Zulu) { }
|
||||
fn main() {
|
||||
boi(Zulu:: $0 {});
|
||||
}
|
||||
"#,
|
||||
expect![[r#"
|
||||
fn test() fn() -> Zulu
|
||||
"#]],
|
||||
);
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ fn path_for_qualifier(
|
||||
mut qual: CompletedMarker,
|
||||
) -> CompletedMarker {
|
||||
loop {
|
||||
let use_tree = matches!(p.nth(2), T![*] | T!['{']);
|
||||
let use_tree = mode == Mode::Use && matches!(p.nth(2), T![*] | T!['{']);
|
||||
if p.at(T![::]) && !use_tree {
|
||||
let path = qual.precede(p);
|
||||
p.bump(T![::]);
|
||||
|
Loading…
Reference in New Issue
Block a user