@@ -1170,6 +1170,7 @@ fn main() { let _: m::Spam = S$0 }
11701170 ),
11711171 is_local: false,
11721172 is_item_from_trait: false,
1173+ is_item_from_notable_trait: false,
11731174 is_name_already_imported: false,
11741175 requires_import: false,
11751176 is_op_method: false,
@@ -1196,6 +1197,7 @@ fn main() { let _: m::Spam = S$0 }
11961197 ),
11971198 is_local: false,
11981199 is_item_from_trait: false,
1200+ is_item_from_notable_trait: false,
11991201 is_name_already_imported: false,
12001202 requires_import: false,
12011203 is_op_method: false,
@@ -1274,6 +1276,7 @@ fn foo() { A { the$0 } }
12741276 ),
12751277 is_local: false,
12761278 is_item_from_trait: false,
1279+ is_item_from_notable_trait: false,
12771280 is_name_already_imported: false,
12781281 requires_import: false,
12791282 is_op_method: false,
@@ -2089,6 +2092,7 @@ fn foo() {
20892092 ),
20902093 is_local: false,
20912094 is_item_from_trait: false,
2095+ is_item_from_notable_trait: false,
20922096 is_name_already_imported: false,
20932097 requires_import: false,
20942098 is_op_method: false,
@@ -2439,4 +2443,81 @@ impl S {
24392443"# ,
24402444 )
24412445 }
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+ }
24422523}
0 commit comments