@@ -354,15 +354,15 @@ impl ProjectWorkspace {
354354 load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
355355 ) -> CrateGraph {
356356 let _p = profile:: span ( "ProjectWorkspace::to_crate_graph" ) ;
357- let proc_macro_loader = |path : & AbsPath | match proc_macro_client {
357+ let proc_macro_loader = & mut |path : & AbsPath | match proc_macro_client {
358358 Some ( client) => client. by_dylib_path ( path) ,
359359 None => Vec :: new ( ) ,
360360 } ;
361361
362362 let mut crate_graph = match self {
363363 ProjectWorkspace :: Json { project, sysroot, rustc_cfg } => project_json_to_crate_graph (
364364 rustc_cfg. clone ( ) ,
365- & proc_macro_loader,
365+ proc_macro_loader,
366366 load,
367367 project,
368368 sysroot,
@@ -377,7 +377,7 @@ impl ProjectWorkspace {
377377 } => cargo_to_crate_graph (
378378 rustc_cfg. clone ( ) ,
379379 cfg_overrides,
380- & proc_macro_loader,
380+ proc_macro_loader,
381381 load,
382382 cargo,
383383 build_scripts,
@@ -399,7 +399,7 @@ impl ProjectWorkspace {
399399
400400fn project_json_to_crate_graph (
401401 rustc_cfg : Vec < CfgFlag > ,
402- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
402+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
403403 load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
404404 project : & ProjectJson ,
405405 sysroot : & Option < Sysroot > ,
@@ -476,7 +476,7 @@ fn project_json_to_crate_graph(
476476fn cargo_to_crate_graph (
477477 rustc_cfg : Vec < CfgFlag > ,
478478 override_cfg : & CfgOverrides ,
479- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
479+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
480480 load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
481481 cargo : & CargoWorkspace ,
482482 build_scripts : & WorkspaceBuildScripts ,
@@ -658,7 +658,7 @@ fn handle_rustc_crates(
658658 load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
659659 crate_graph : & mut CrateGraph ,
660660 cfg_options : & CfgOptions ,
661- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
661+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
662662 pkg_to_lib_crate : & mut FxHashMap < la_arena:: Idx < crate :: PackageData > , CrateId > ,
663663 public_deps : & [ ( CrateName , CrateId ) ] ,
664664 cargo : & CargoWorkspace ,
@@ -750,7 +750,7 @@ fn add_target_crate_root(
750750 pkg : & PackageData ,
751751 build_data : Option < & BuildScriptOutput > ,
752752 cfg_options : & CfgOptions ,
753- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
753+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
754754 file_id : FileId ,
755755 cargo_name : & str ,
756756) -> CrateId {
0 commit comments