@@ -5,7 +5,7 @@ use ide_db::{
5
5
helpers:: visit_file_defs,
6
6
RootDatabase ,
7
7
} ;
8
- use syntax:: { ast:: HasName , AstNode , TextRange , TextSize } ;
8
+ use syntax:: { ast:: HasName , AstNode , TextRange } ;
9
9
10
10
use crate :: {
11
11
fn_references:: find_all_methods,
@@ -66,10 +66,10 @@ pub(crate) fn annotations(
66
66
Either :: Left ( def) => {
67
67
let ( range, ranges_enum_variants) = match def {
68
68
hir:: ModuleDef :: Const ( konst) => {
69
- ( konst. source ( db) . and_then ( |node| name_range ( & node, file_id) ) , vec ! [ None ] )
69
+ ( konst. source ( db) . and_then ( |node| name_range ( & node, file_id) ) , vec ! [ ] )
70
70
}
71
71
hir:: ModuleDef :: Trait ( trait_) => {
72
- ( trait_. source ( db) . and_then ( |node| name_range ( & node, file_id) ) , vec ! [ None ] )
72
+ ( trait_. source ( db) . and_then ( |node| name_range ( & node, file_id) ) , vec ! [ ] )
73
73
}
74
74
hir:: ModuleDef :: Adt ( adt) => match adt {
75
75
hir:: Adt :: Enum ( enum_) => (
@@ -83,12 +83,12 @@ pub(crate) fn annotations(
83
83
} )
84
84
. collect ( )
85
85
} else {
86
- vec ! [ None ]
86
+ vec ! [ ]
87
87
} ,
88
88
) ,
89
- _ => ( adt. source ( db) . and_then ( |node| name_range ( & node, file_id) ) , vec ! [ None ] ) ,
89
+ _ => ( adt. source ( db) . and_then ( |node| name_range ( & node, file_id) ) , vec ! [ ] ) ,
90
90
} ,
91
- _ => ( None , vec ! [ None ] ) ,
91
+ _ => ( None , vec ! [ ] ) ,
92
92
} ;
93
93
94
94
let ( range, offset) = match range {
@@ -116,19 +116,13 @@ pub(crate) fn annotations(
116
116
}
117
117
118
118
if config. annotate_enum_variant_references {
119
- let mut enum_variants_metadata: Vec < ( TextRange , TextSize ) > = Vec :: with_capacity ( ranges_enum_variants. len ( ) ) ;
120
- for range_enum_variant in ranges_enum_variants. into_iter ( ) {
121
- let ( range, offset) = match range_enum_variant {
122
- Some ( range) => ( range, range. start ( ) ) ,
123
- None => return ,
124
- } ;
125
- enum_variants_metadata. push ( ( range, offset) )
126
- }
127
- for enum_variant_metadata in enum_variants_metadata. into_iter ( ) {
119
+ for range_enum_variant in
120
+ ranges_enum_variants. into_iter ( ) . filter_map ( std:: convert:: identity)
121
+ {
128
122
annotations. push ( Annotation {
129
- range : enum_variant_metadata . 0 ,
123
+ range : range_enum_variant ,
130
124
kind : AnnotationKind :: HasReferences {
131
- position : FilePosition { file_id, offset : enum_variant_metadata . 1 } ,
125
+ position : FilePosition { file_id, offset : range_enum_variant . start ( ) } ,
132
126
data : None ,
133
127
} ,
134
128
} ) ;
0 commit comments