@@ -2443,4 +2443,81 @@ impl S {
2443
2443
"# ,
2444
2444
)
2445
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
+ }
2446
2523
}
0 commit comments