File tree Expand file tree Collapse file tree 2 files changed +44
-7
lines changed
crates/ide-completion/src Expand file tree Collapse file tree 2 files changed +44
-7
lines changed Original file line number Diff line number Diff line change @@ -1206,4 +1206,17 @@ impl<B: Bar, F: core::ops::Deref<Target = B>> Foo<F> {
12061206 "# ] ] ,
12071207 ) ;
12081208 }
1209+
1210+ #[ test]
1211+ fn test_struct_function_field_completion ( ) {
1212+ check (
1213+ r#"
1214+ struct S { field: fn() }
1215+ fn foo() { S { field: || {} }.fi$0() }
1216+ "# ,
1217+ expect ! [ [ r#"
1218+ fd field fn()
1219+ "# ] ] ,
1220+ ) ;
1221+ }
12091222}
Original file line number Diff line number Diff line change @@ -1634,7 +1634,7 @@ fn main() {
16341634 fn struct_field_method_ref ( ) {
16351635 check_kinds (
16361636 r#"
1637- struct Foo { bar: u32 }
1637+ struct Foo { bar: u32, qux: fn() }
16381638impl Foo { fn baz(&self) -> u32 { 0 } }
16391639
16401640fn foo(f: Foo) { let _: &u32 = f.b$0 }
@@ -1644,24 +1644,48 @@ fn foo(f: Foo) { let _: &u32 = f.b$0 }
16441644 [
16451645 CompletionItem {
16461646 label: "baz()",
1647- source_range: 98..99 ,
1648- delete: 98..99 ,
1647+ source_range: 109..110 ,
1648+ delete: 109..110 ,
16491649 insert: "baz()$0",
16501650 kind: Method,
16511651 lookup: "baz",
16521652 detail: "fn(&self) -> u32",
1653- ref_match: "&@96 ",
1653+ ref_match: "&@107 ",
16541654 },
16551655 CompletionItem {
16561656 label: "bar",
1657- source_range: 98..99 ,
1658- delete: 98..99 ,
1657+ source_range: 109..110 ,
1658+ delete: 109..110 ,
16591659 insert: "bar",
16601660 kind: SymbolKind(
16611661 Field,
16621662 ),
16631663 detail: "u32",
1664- ref_match: "&@96",
1664+ ref_match: "&@107",
1665+ },
1666+ CompletionItem {
1667+ label: "qux",
1668+ source_range: 109..110,
1669+ text_edit: TextEdit {
1670+ indels: [
1671+ Indel {
1672+ insert: "(",
1673+ delete: 107..107,
1674+ },
1675+ Indel {
1676+ insert: ")",
1677+ delete: 108..108,
1678+ },
1679+ Indel {
1680+ insert: "qux()",
1681+ delete: 109..110,
1682+ },
1683+ ],
1684+ },
1685+ kind: SymbolKind(
1686+ Field,
1687+ ),
1688+ detail: "fn()",
16651689 },
16661690 ]
16671691 "# ] ] ,
You can’t perform that action at this time.
0 commit comments