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> {
1206
1206
"# ] ] ,
1207
1207
) ;
1208
1208
}
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
+ }
1209
1222
}
Original file line number Diff line number Diff line change @@ -1634,7 +1634,7 @@ fn main() {
1634
1634
fn struct_field_method_ref ( ) {
1635
1635
check_kinds (
1636
1636
r#"
1637
- struct Foo { bar: u32 }
1637
+ struct Foo { bar: u32, qux: fn() }
1638
1638
impl Foo { fn baz(&self) -> u32 { 0 } }
1639
1639
1640
1640
fn foo(f: Foo) { let _: &u32 = f.b$0 }
@@ -1644,24 +1644,48 @@ fn foo(f: Foo) { let _: &u32 = f.b$0 }
1644
1644
[
1645
1645
CompletionItem {
1646
1646
label: "baz()",
1647
- source_range: 98..99 ,
1648
- delete: 98..99 ,
1647
+ source_range: 109..110 ,
1648
+ delete: 109..110 ,
1649
1649
insert: "baz()$0",
1650
1650
kind: Method,
1651
1651
lookup: "baz",
1652
1652
detail: "fn(&self) -> u32",
1653
- ref_match: "&@96 ",
1653
+ ref_match: "&@107 ",
1654
1654
},
1655
1655
CompletionItem {
1656
1656
label: "bar",
1657
- source_range: 98..99 ,
1658
- delete: 98..99 ,
1657
+ source_range: 109..110 ,
1658
+ delete: 109..110 ,
1659
1659
insert: "bar",
1660
1660
kind: SymbolKind(
1661
1661
Field,
1662
1662
),
1663
1663
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()",
1665
1689
},
1666
1690
]
1667
1691
"# ] ] ,
You can’t perform that action at this time.
0 commit comments