@@ -59,15 +59,15 @@ mod tests;
5959
6060use std:: ops:: Deref ;
6161
62- use base_db:: { CrateId , FileId } ;
62+ use base_db:: CrateId ;
6363use hir_expand:: {
6464 name:: Name , proc_macro:: ProcMacroKind , ErasedAstId , HirFileId , InFile , MacroCallId , MacroDefId ,
6565} ;
6666use intern:: Symbol ;
6767use itertools:: Itertools ;
6868use la_arena:: Arena ;
6969use 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 } ;
7171use stdx:: format_to;
7272use syntax:: { ast, SmolStr } ;
7373use triomphe:: Arc ;
@@ -244,14 +244,14 @@ impl std::ops::Index<LocalModuleId> for DefMap {
244244#[ derive( Debug , PartialEq , Eq , Clone , Copy , Hash ) ]
245245pub enum ModuleOrigin {
246246 CrateRoot {
247- definition : FileId ,
247+ definition : EditionedFileId ,
248248 } ,
249249 /// Note that non-inline modules, by definition, live inside non-macro file.
250250 File {
251251 is_mod_rs : bool ,
252252 declaration : FileAstId < ast:: Module > ,
253253 declaration_tree_id : ItemTreeId < Mod > ,
254- definition : FileId ,
254+ definition : EditionedFileId ,
255255 } ,
256256 Inline {
257257 definition_tree_id : ItemTreeId < Mod > ,
@@ -277,7 +277,7 @@ impl ModuleOrigin {
277277 }
278278 }
279279
280- pub fn file_id ( & self ) -> Option < FileId > {
280+ pub fn file_id ( & self ) -> Option < EditionedFileId > {
281281 match self {
282282 ModuleOrigin :: File { definition, .. } | ModuleOrigin :: CrateRoot { definition } => {
283283 Some ( * definition)
@@ -339,7 +339,7 @@ impl DefMap {
339339 let _p = tracing:: info_span!( "crate_def_map_query" , ?name) . entered ( ) ;
340340
341341 let module_data = ModuleData :: new (
342- ModuleOrigin :: CrateRoot { definition : krate. root_file_id } ,
342+ ModuleOrigin :: CrateRoot { definition : krate. root_file_id ( ) } ,
343343 Visibility :: Public ,
344344 ) ;
345345
@@ -350,7 +350,7 @@ impl DefMap {
350350 None ,
351351 ) ;
352352 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 ) ) ;
354354
355355 Arc :: new ( def_map)
356356 }
@@ -433,7 +433,9 @@ impl DefMap {
433433 pub fn modules_for_file ( & self , file_id : FileId ) -> impl Iterator < Item = LocalModuleId > + ' _ {
434434 self . modules
435435 . 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+ } )
437439 . map ( |( id, _data) | id)
438440 }
439441
0 commit comments