@@ -18,7 +18,7 @@ use crate::{
1818 Error , Result ,
1919 ast:: SrcSpan ,
2020 build:: { Module , Origin , module_loader:: ModuleLoader } ,
21- config:: { PackageConfig , PackageKind } ,
21+ config:: PackageConfig ,
2222 dep_tree,
2323 error:: { DefinedModuleOrigin , FileIoAction , FileKind , ImportCycleLocationDetails } ,
2424 io:: { self , CommandExecutor , FileSystemReader , FileSystemWriter , files_with_extension} ,
@@ -58,7 +58,6 @@ pub struct PackageLoader<'a, IO> {
5858 io : IO ,
5959 ids : UniqueIdGenerator ,
6060 mode : Mode ,
61- package_kind : PackageKind ,
6261 paths : ProjectPaths ,
6362 warnings : & ' a WarningEmitter ,
6463 codegen : CodegenRequired ,
7978 io : IO ,
8079 ids : UniqueIdGenerator ,
8180 mode : Mode ,
82- package_kind : PackageKind ,
8381 root : & ' a Utf8Path ,
8482 cached_warnings : CachedWarnings ,
8583 warnings : & ' a WarningEmitter ,
9593 io,
9694 ids,
9795 mode,
98- package_kind,
9996 paths : ProjectPaths :: new ( root. into ( ) ) ,
10097 warnings,
10198 codegen,
@@ -234,7 +231,7 @@ where
234231 let span = tracing:: info_span!( "load" ) ;
235232 let _enter = span. enter ( ) ;
236233
237- let mut inputs = Inputs :: new ( self . already_defined_modules ) ;
234+ let mut inputs = Inputs :: new ( self . package_name . clone ( ) , self . already_defined_modules ) ;
238235
239236 let src = self . paths . src_directory ( ) ;
240237 let mut loader = ModuleLoader {
@@ -254,7 +251,7 @@ where
254251 match file {
255252 Ok ( file) => {
256253 let input = loader. load ( file) ?;
257- inputs. insert ( input, self . package_kind . clone ( ) ) ?;
254+ inputs. insert ( input) ?;
258255 }
259256 Err ( warning) => self . warnings . emit ( warning) ,
260257 }
@@ -269,7 +266,7 @@ where
269266 match file {
270267 Ok ( file) => {
271268 let input = loader. load ( file) ?;
272- inputs. insert ( input, self . package_kind . clone ( ) ) ?;
269+ inputs. insert ( input) ?;
273270 }
274271 Err ( warning) => self . warnings . emit ( warning) ,
275272 }
@@ -282,7 +279,7 @@ where
282279 match file {
283280 Ok ( file) => {
284281 let input = loader. load ( file) ?;
285- inputs. insert ( input, self . package_kind . clone ( ) ) ?;
282+ inputs. insert ( input) ?;
286283 }
287284 Err ( warning) => self . warnings . emit ( warning) ,
288285 }
@@ -1691,30 +1688,32 @@ impl StaleTracker {
16911688
16921689#[ derive( Debug ) ]
16931690pub struct Inputs < ' a > {
1691+ /// The name of the package for which we're loading the inputs.
1692+ package : EcoString ,
16941693 collection : HashMap < EcoString , ( DefinedModuleOrigin , Input ) > ,
16951694 already_defined_modules : & ' a mut im:: HashMap < EcoString , DefinedModuleOrigin > ,
16961695}
16971696
16981697impl < ' a > Inputs < ' a > {
1699- fn new ( already_defined_modules : & ' a mut im:: HashMap < EcoString , DefinedModuleOrigin > ) -> Self {
1698+ fn new (
1699+ package : EcoString ,
1700+ already_defined_modules : & ' a mut im:: HashMap < EcoString , DefinedModuleOrigin > ,
1701+ ) -> Self {
17001702 Self {
1703+ package,
17011704 collection : Default :: default ( ) ,
17021705 already_defined_modules,
17031706 }
17041707 }
17051708
17061709 /// Insert a module into the hashmap. If there is already a module with the
17071710 /// same name then an error is returned.
1708- fn insert ( & mut self , input : Input , origin : PackageKind ) -> Result < ( ) > {
1711+ fn insert ( & mut self , input : Input ) -> Result < ( ) > {
17091712 let name = input. name ( ) . clone ( ) ;
17101713
1711- let origin = match origin {
1712- PackageKind :: Root => DefinedModuleOrigin :: RootProject {
1713- path : input. source_path ( ) . to_path_buf ( ) ,
1714- } ,
1715- PackageKind :: Dependency { package_name } => {
1716- DefinedModuleOrigin :: Dependency { package_name }
1717- }
1714+ let origin = DefinedModuleOrigin {
1715+ package_name : self . package . clone ( ) ,
1716+ path : input. source_path ( ) . to_path_buf ( ) ,
17181717 } ;
17191718
17201719 if let Some ( first) = self
0 commit comments