@@ -354,15 +354,15 @@ impl ProjectWorkspace {
354
354
load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
355
355
) -> CrateGraph {
356
356
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 {
358
358
Some ( client) => client. by_dylib_path ( path) ,
359
359
None => Vec :: new ( ) ,
360
360
} ;
361
361
362
362
let mut crate_graph = match self {
363
363
ProjectWorkspace :: Json { project, sysroot, rustc_cfg } => project_json_to_crate_graph (
364
364
rustc_cfg. clone ( ) ,
365
- & proc_macro_loader,
365
+ proc_macro_loader,
366
366
load,
367
367
project,
368
368
sysroot,
@@ -377,7 +377,7 @@ impl ProjectWorkspace {
377
377
} => cargo_to_crate_graph (
378
378
rustc_cfg. clone ( ) ,
379
379
cfg_overrides,
380
- & proc_macro_loader,
380
+ proc_macro_loader,
381
381
load,
382
382
cargo,
383
383
build_scripts,
@@ -399,7 +399,7 @@ impl ProjectWorkspace {
399
399
400
400
fn project_json_to_crate_graph (
401
401
rustc_cfg : Vec < CfgFlag > ,
402
- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
402
+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
403
403
load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
404
404
project : & ProjectJson ,
405
405
sysroot : & Option < Sysroot > ,
@@ -476,7 +476,7 @@ fn project_json_to_crate_graph(
476
476
fn cargo_to_crate_graph (
477
477
rustc_cfg : Vec < CfgFlag > ,
478
478
override_cfg : & CfgOverrides ,
479
- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
479
+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
480
480
load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
481
481
cargo : & CargoWorkspace ,
482
482
build_scripts : & WorkspaceBuildScripts ,
@@ -658,7 +658,7 @@ fn handle_rustc_crates(
658
658
load : & mut dyn FnMut ( & AbsPath ) -> Option < FileId > ,
659
659
crate_graph : & mut CrateGraph ,
660
660
cfg_options : & CfgOptions ,
661
- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
661
+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
662
662
pkg_to_lib_crate : & mut FxHashMap < la_arena:: Idx < crate :: PackageData > , CrateId > ,
663
663
public_deps : & [ ( CrateName , CrateId ) ] ,
664
664
cargo : & CargoWorkspace ,
@@ -750,7 +750,7 @@ fn add_target_crate_root(
750
750
pkg : & PackageData ,
751
751
build_data : Option < & BuildScriptOutput > ,
752
752
cfg_options : & CfgOptions ,
753
- proc_macro_loader : & dyn Fn ( & AbsPath ) -> Vec < ProcMacro > ,
753
+ proc_macro_loader : & mut dyn FnMut ( & AbsPath ) -> Vec < ProcMacro > ,
754
754
file_id : FileId ,
755
755
cargo_name : & str ,
756
756
) -> CrateId {
0 commit comments