@@ -1170,6 +1170,7 @@ fn main() { let _: m::Spam = S$0 }
1170
1170
),
1171
1171
is_local: false,
1172
1172
is_item_from_trait: false,
1173
+ is_item_from_notable_trait: false,
1173
1174
is_name_already_imported: false,
1174
1175
requires_import: false,
1175
1176
is_op_method: false,
@@ -1196,6 +1197,7 @@ fn main() { let _: m::Spam = S$0 }
1196
1197
),
1197
1198
is_local: false,
1198
1199
is_item_from_trait: false,
1200
+ is_item_from_notable_trait: false,
1199
1201
is_name_already_imported: false,
1200
1202
requires_import: false,
1201
1203
is_op_method: false,
@@ -1274,6 +1276,7 @@ fn foo() { A { the$0 } }
1274
1276
),
1275
1277
is_local: false,
1276
1278
is_item_from_trait: false,
1279
+ is_item_from_notable_trait: false,
1277
1280
is_name_already_imported: false,
1278
1281
requires_import: false,
1279
1282
is_op_method: false,
@@ -2089,6 +2092,7 @@ fn foo() {
2089
2092
),
2090
2093
is_local: false,
2091
2094
is_item_from_trait: false,
2095
+ is_item_from_notable_trait: false,
2092
2096
is_name_already_imported: false,
2093
2097
requires_import: false,
2094
2098
is_op_method: false,
@@ -2439,4 +2443,81 @@ impl S {
2439
2443
"# ,
2440
2444
)
2441
2445
}
2446
+
2447
+ #[ test]
2448
+ fn notable_traits_method_relevance ( ) {
2449
+ check_kinds (
2450
+ r#"
2451
+ #[doc(notable_trait)]
2452
+ trait Write {
2453
+ fn write(&self);
2454
+ fn flush(&self);
2455
+ }
2456
+
2457
+ struct Writer;
2458
+
2459
+ impl Write for Writer {
2460
+ fn write(&self) {}
2461
+ fn flush(&self) {}
2462
+ }
2463
+
2464
+ fn main() {
2465
+ Writer.$0
2466
+ }
2467
+ "# ,
2468
+ & [
2469
+ CompletionItemKind :: Method ,
2470
+ CompletionItemKind :: SymbolKind ( SymbolKind :: Field ) ,
2471
+ CompletionItemKind :: SymbolKind ( SymbolKind :: Function ) ,
2472
+ ] ,
2473
+ expect ! [ [ r#"
2474
+ [
2475
+ CompletionItem {
2476
+ label: "flush()",
2477
+ source_range: 193..193,
2478
+ delete: 193..193,
2479
+ insert: "flush()$0",
2480
+ kind: Method,
2481
+ lookup: "flush",
2482
+ detail: "fn(&self)",
2483
+ relevance: CompletionRelevance {
2484
+ exact_name_match: false,
2485
+ type_match: None,
2486
+ is_local: false,
2487
+ is_item_from_trait: false,
2488
+ is_item_from_notable_trait: true,
2489
+ is_name_already_imported: false,
2490
+ requires_import: false,
2491
+ is_op_method: false,
2492
+ is_private_editable: false,
2493
+ postfix_match: None,
2494
+ is_definite: false,
2495
+ },
2496
+ },
2497
+ CompletionItem {
2498
+ label: "write()",
2499
+ source_range: 193..193,
2500
+ delete: 193..193,
2501
+ insert: "write()$0",
2502
+ kind: Method,
2503
+ lookup: "write",
2504
+ detail: "fn(&self)",
2505
+ relevance: CompletionRelevance {
2506
+ exact_name_match: false,
2507
+ type_match: None,
2508
+ is_local: false,
2509
+ is_item_from_trait: false,
2510
+ is_item_from_notable_trait: true,
2511
+ is_name_already_imported: false,
2512
+ requires_import: false,
2513
+ is_op_method: false,
2514
+ is_private_editable: false,
2515
+ postfix_match: None,
2516
+ is_definite: false,
2517
+ },
2518
+ },
2519
+ ]
2520
+ "# ] ] ,
2521
+ ) ;
2522
+ }
2442
2523
}
0 commit comments