@@ -370,13 +370,13 @@ pub fn resolve_examples(
370
370
warnings : & mut Vec < String > ,
371
371
errors : & mut Vec < String > ,
372
372
) -> CargoResult < Vec < TomlExampleTarget > > {
373
- let inferred = infer_from_directory ( & package_root, Path :: new ( DEFAULT_EXAMPLE_DIR_NAME ) ) ;
373
+ let mut inferred = || infer_from_directory ( & package_root, Path :: new ( DEFAULT_EXAMPLE_DIR_NAME ) ) ;
374
374
375
375
let targets = resolve_targets (
376
376
"example" ,
377
377
"example" ,
378
378
toml_examples,
379
- & inferred,
379
+ & mut inferred,
380
380
package_root,
381
381
edition,
382
382
autodiscover,
@@ -427,13 +427,13 @@ pub fn resolve_tests(
427
427
warnings : & mut Vec < String > ,
428
428
errors : & mut Vec < String > ,
429
429
) -> CargoResult < Vec < TomlTestTarget > > {
430
- let inferred = infer_from_directory ( & package_root, Path :: new ( DEFAULT_TEST_DIR_NAME ) ) ;
430
+ let mut inferred = || infer_from_directory ( & package_root, Path :: new ( DEFAULT_TEST_DIR_NAME ) ) ;
431
431
432
432
let targets = resolve_targets (
433
433
"test" ,
434
434
"test" ,
435
435
toml_tests,
436
- & inferred,
436
+ & mut inferred,
437
437
package_root,
438
438
edition,
439
439
autodiscover,
@@ -492,13 +492,13 @@ pub fn resolve_benches(
492
492
Some ( legacy_path)
493
493
} ;
494
494
495
- let inferred = infer_from_directory ( & package_root, Path :: new ( DEFAULT_BENCH_DIR_NAME ) ) ;
495
+ let mut inferred = || infer_from_directory ( & package_root, Path :: new ( DEFAULT_BENCH_DIR_NAME ) ) ;
496
496
497
497
let targets = resolve_targets_with_legacy_path (
498
498
"benchmark" ,
499
499
"bench" ,
500
500
toml_benches,
501
- & inferred,
501
+ & mut inferred,
502
502
package_root,
503
503
edition,
504
504
autodiscover,
@@ -540,7 +540,7 @@ fn resolve_targets(
540
540
target_kind_human : & str ,
541
541
target_kind : & str ,
542
542
toml_targets : Option < & Vec < TomlTarget > > ,
543
- inferred : & [ ( String , PathBuf ) ] ,
543
+ inferred : & mut dyn FnMut ( ) -> Vec < ( String , PathBuf ) > ,
544
544
package_root : & Path ,
545
545
edition : Edition ,
546
546
autodiscover : Option < bool > ,
@@ -567,7 +567,7 @@ fn resolve_targets_with_legacy_path(
567
567
target_kind_human : & str ,
568
568
target_kind : & str ,
569
569
toml_targets : Option < & Vec < TomlTarget > > ,
570
- inferred : & [ ( String , PathBuf ) ] ,
570
+ inferred : & mut dyn FnMut ( ) -> Vec < ( String , PathBuf ) > ,
571
571
package_root : & Path ,
572
572
edition : Edition ,
573
573
autodiscover : Option < bool > ,
@@ -576,9 +576,10 @@ fn resolve_targets_with_legacy_path(
576
576
legacy_path : & mut dyn FnMut ( & TomlTarget ) -> Option < PathBuf > ,
577
577
autodiscover_flag_name : & str ,
578
578
) -> CargoResult < Vec < TomlTarget > > {
579
+ let inferred = inferred ( ) ;
579
580
let toml_targets = toml_targets_and_inferred (
580
581
toml_targets,
581
- inferred,
582
+ & inferred,
582
583
package_root,
583
584
autodiscover,
584
585
edition,
@@ -600,7 +601,7 @@ fn resolve_targets_with_legacy_path(
600
601
for mut target in toml_targets {
601
602
let path = target_path (
602
603
& target,
603
- inferred,
604
+ & inferred,
604
605
target_kind,
605
606
package_root,
606
607
edition,
0 commit comments