@@ -59,15 +59,15 @@ mod tests;
59
59
60
60
use std:: ops:: Deref ;
61
61
62
- use base_db:: { CrateId , FileId } ;
62
+ use base_db:: CrateId ;
63
63
use hir_expand:: {
64
64
name:: Name , proc_macro:: ProcMacroKind , ErasedAstId , HirFileId , InFile , MacroCallId , MacroDefId ,
65
65
} ;
66
66
use intern:: Symbol ;
67
67
use itertools:: Itertools ;
68
68
use la_arena:: Arena ;
69
69
use rustc_hash:: { FxHashMap , FxHashSet } ;
70
- use span:: { Edition , FileAstId , ROOT_ERASED_FILE_AST_ID } ;
70
+ use span:: { Edition , EditionedFileId , FileAstId , FileId , ROOT_ERASED_FILE_AST_ID } ;
71
71
use stdx:: format_to;
72
72
use syntax:: { ast, SmolStr } ;
73
73
use triomphe:: Arc ;
@@ -244,14 +244,14 @@ impl std::ops::Index<LocalModuleId> for DefMap {
244
244
#[ derive( Debug , PartialEq , Eq , Clone , Copy , Hash ) ]
245
245
pub enum ModuleOrigin {
246
246
CrateRoot {
247
- definition : FileId ,
247
+ definition : EditionedFileId ,
248
248
} ,
249
249
/// Note that non-inline modules, by definition, live inside non-macro file.
250
250
File {
251
251
is_mod_rs : bool ,
252
252
declaration : FileAstId < ast:: Module > ,
253
253
declaration_tree_id : ItemTreeId < Mod > ,
254
- definition : FileId ,
254
+ definition : EditionedFileId ,
255
255
} ,
256
256
Inline {
257
257
definition_tree_id : ItemTreeId < Mod > ,
@@ -277,7 +277,7 @@ impl ModuleOrigin {
277
277
}
278
278
}
279
279
280
- pub fn file_id ( & self ) -> Option < FileId > {
280
+ pub fn file_id ( & self ) -> Option < EditionedFileId > {
281
281
match self {
282
282
ModuleOrigin :: File { definition, .. } | ModuleOrigin :: CrateRoot { definition } => {
283
283
Some ( * definition)
@@ -339,7 +339,7 @@ impl DefMap {
339
339
let _p = tracing:: info_span!( "crate_def_map_query" , ?name) . entered ( ) ;
340
340
341
341
let module_data = ModuleData :: new (
342
- ModuleOrigin :: CrateRoot { definition : krate. root_file_id } ,
342
+ ModuleOrigin :: CrateRoot { definition : krate. root_file_id ( ) } ,
343
343
Visibility :: Public ,
344
344
) ;
345
345
@@ -350,7 +350,7 @@ impl DefMap {
350
350
None ,
351
351
) ;
352
352
let def_map =
353
- collector:: collect_defs ( db, def_map, TreeId :: new ( krate. root_file_id . into ( ) , None ) ) ;
353
+ collector:: collect_defs ( db, def_map, TreeId :: new ( krate. root_file_id ( ) . into ( ) , None ) ) ;
354
354
355
355
Arc :: new ( def_map)
356
356
}
@@ -433,7 +433,9 @@ impl DefMap {
433
433
pub fn modules_for_file ( & self , file_id : FileId ) -> impl Iterator < Item = LocalModuleId > + ' _ {
434
434
self . modules
435
435
. iter ( )
436
- . filter ( move |( _id, data) | data. origin . file_id ( ) == Some ( file_id) )
436
+ . filter ( move |( _id, data) | {
437
+ data. origin . file_id ( ) . map ( EditionedFileId :: file_id) == Some ( file_id)
438
+ } )
437
439
. map ( |( id, _data) | id)
438
440
}
439
441
0 commit comments