1
1
//! An algorithm to find a path to refer to a certain item.
2
2
3
- use std:: {
4
- cmp:: Ordering ,
5
- iter:: { self , once} ,
6
- } ;
3
+ use std:: { cmp:: Ordering , iter} ;
7
4
8
5
use hir_expand:: {
9
6
name:: { known, AsName , Name } ,
@@ -85,7 +82,7 @@ struct FindPathCtx<'db> {
85
82
fn find_path_inner ( ctx : FindPathCtx < ' _ > , item : ItemInNs , from : ModuleId ) -> Option < ModPath > {
86
83
// - if the item is a builtin, it's in scope
87
84
if let ItemInNs :: Types ( ModuleDefId :: BuiltinType ( builtin) ) = item {
88
- return Some ( ModPath :: from_segments ( PathKind :: Plain , once ( builtin. as_name ( ) ) ) ) ;
85
+ return Some ( ModPath :: from_segments ( PathKind :: Plain , iter :: once ( builtin. as_name ( ) ) ) ) ;
89
86
}
90
87
91
88
let def_map = from. def_map ( ctx. db ) ;
@@ -124,7 +121,7 @@ fn find_path_inner(ctx: FindPathCtx<'_>, item: ItemInNs, from: ModuleId) -> Opti
124
121
// - if the item is already in scope, return the name under which it is
125
122
let scope_name = find_in_scope ( ctx. db , & def_map, from, item, ctx. ignore_local_imports ) ;
126
123
if let Some ( scope_name) = scope_name {
127
- return Some ( ModPath :: from_segments ( prefix. path_kind ( ) , Some ( scope_name) ) ) ;
124
+ return Some ( ModPath :: from_segments ( prefix. path_kind ( ) , iter :: once ( scope_name) ) ) ;
128
125
}
129
126
}
130
127
@@ -209,7 +206,7 @@ fn find_path_for_module(
209
206
} else {
210
207
PathKind :: Plain
211
208
} ;
212
- return Some ( ( ModPath :: from_segments ( kind, once ( name. clone ( ) ) ) , Stable ) ) ;
209
+ return Some ( ( ModPath :: from_segments ( kind, iter :: once ( name. clone ( ) ) ) , Stable ) ) ;
213
210
}
214
211
}
215
212
let prefix = if module_id. is_within_block ( ) { PrefixKind :: Plain } else { ctx. prefix } ;
@@ -227,7 +224,10 @@ fn find_path_for_module(
227
224
) ;
228
225
if let Some ( scope_name) = scope_name {
229
226
// - if the item is already in scope, return the name under which it is
230
- return Some ( ( ModPath :: from_segments ( prefix. path_kind ( ) , once ( scope_name) ) , Stable ) ) ;
227
+ return Some ( (
228
+ ModPath :: from_segments ( prefix. path_kind ( ) , iter:: once ( scope_name) ) ,
229
+ Stable ,
230
+ ) ) ;
231
231
}
232
232
}
233
233
@@ -301,7 +301,7 @@ fn find_in_prelude(
301
301
} ) ;
302
302
303
303
if found_and_same_def. unwrap_or ( true ) {
304
- Some ( ModPath :: from_segments ( PathKind :: Plain , once ( name. clone ( ) ) ) )
304
+ Some ( ModPath :: from_segments ( PathKind :: Plain , iter :: once ( name. clone ( ) ) ) )
305
305
} else {
306
306
None
307
307
}
0 commit comments