@@ -524,11 +524,11 @@ impl<'cfg> PackageSet<'cfg> {
524
524
target_data,
525
525
force_all_targets,
526
526
) ;
527
- for ( dep_id , _deps ) in filtered_deps {
527
+ for & pkg_id in filtered_deps. iter ( ) {
528
528
collect_used_deps (
529
529
used,
530
530
resolve,
531
- dep_id ,
531
+ pkg_id ,
532
532
has_dev_units,
533
533
requested_kinds,
534
534
target_data,
@@ -567,19 +567,20 @@ impl<'cfg> PackageSet<'cfg> {
567
567
requested_kinds : & [ CompileKind ] ,
568
568
target_data : & RustcTargetData < ' _ > ,
569
569
force_all_targets : ForceAllTargets ,
570
- ) -> CargoResult < Vec < & Package > > {
570
+ ) -> Vec < & Package > {
571
571
let mut ret = vec ! [ ] ;
572
572
573
- root_ids. iter ( ) . for_each ( |pkg_id | {
573
+ root_ids. iter ( ) . for_each ( |root_id | {
574
574
PackageSet :: filter_deps (
575
- * pkg_id ,
575
+ * root_id ,
576
576
resolve,
577
577
has_dev_units,
578
578
requested_kinds,
579
579
target_data,
580
580
force_all_targets,
581
581
)
582
- . for_each ( |( package_id, _) | {
582
+ . iter ( )
583
+ . for_each ( |& package_id| {
583
584
if let Ok ( dep_pkg) = self . get_one ( package_id) {
584
585
if !dep_pkg. targets ( ) . iter ( ) . any ( |t| t. is_lib ( ) ) {
585
586
ret. push ( dep_pkg) ;
@@ -588,34 +589,38 @@ impl<'cfg> PackageSet<'cfg> {
588
589
} ) ;
589
590
} ) ;
590
591
591
- Ok ( ret)
592
+ ret
592
593
}
593
594
594
- fn filter_deps < ' a > (
595
+ fn filter_deps (
595
596
pkg_id : PackageId ,
596
- resolve : & ' a Resolve ,
597
+ resolve : & Resolve ,
597
598
has_dev_units : HasDevUnits ,
598
- requested_kinds : & ' a [ CompileKind ] ,
599
- target_data : & ' a RustcTargetData < ' _ > ,
599
+ requested_kinds : & [ CompileKind ] ,
600
+ target_data : & RustcTargetData < ' _ > ,
600
601
force_all_targets : ForceAllTargets ,
601
- ) -> impl Iterator < Item = ( PackageId , & ' a HashSet < Dependency > ) > {
602
- resolve. deps ( pkg_id) . filter ( move |& ( _id, deps) | {
603
- deps. iter ( ) . any ( |dep| {
604
- if dep. kind ( ) == DepKind :: Development && has_dev_units == HasDevUnits :: No {
605
- return false ;
606
- }
607
- if force_all_targets == ForceAllTargets :: No {
608
- let activated = requested_kinds
609
- . iter ( )
610
- . chain ( Some ( & CompileKind :: Host ) )
611
- . any ( |kind| target_data. dep_platform_activated ( dep, * kind) ) ;
612
- if !activated {
602
+ ) -> Vec < PackageId > {
603
+ resolve
604
+ . deps ( pkg_id)
605
+ . filter ( |& ( _id, deps) | {
606
+ deps. iter ( ) . any ( |dep| {
607
+ if dep. kind ( ) == DepKind :: Development && has_dev_units == HasDevUnits :: No {
613
608
return false ;
614
609
}
615
- }
616
- true
610
+ if force_all_targets == ForceAllTargets :: No {
611
+ let activated = requested_kinds
612
+ . iter ( )
613
+ . chain ( Some ( & CompileKind :: Host ) )
614
+ . any ( |kind| target_data. dep_platform_activated ( dep, * kind) ) ;
615
+ if !activated {
616
+ return false ;
617
+ }
618
+ }
619
+ true
620
+ } )
617
621
} )
618
- } )
622
+ . map ( |( pkg_id, _) | pkg_id)
623
+ . collect ( )
619
624
}
620
625
621
626
pub fn sources ( & self ) -> Ref < ' _ , SourceMap < ' cfg > > {
0 commit comments