Skip to content

Commit f127831

Browse files
committed
Just return a vec
Signed-off-by: hi-rustin <[email protected]>
1 parent 27c1030 commit f127831

File tree

2 files changed

+32
-27
lines changed

2 files changed

+32
-27
lines changed

src/cargo/core/package.rs

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -524,11 +524,11 @@ impl<'cfg> PackageSet<'cfg> {
524524
target_data,
525525
force_all_targets,
526526
);
527-
for (dep_id, _deps) in filtered_deps {
527+
for &pkg_id in filtered_deps.iter() {
528528
collect_used_deps(
529529
used,
530530
resolve,
531-
dep_id,
531+
pkg_id,
532532
has_dev_units,
533533
requested_kinds,
534534
target_data,
@@ -567,19 +567,20 @@ impl<'cfg> PackageSet<'cfg> {
567567
requested_kinds: &[CompileKind],
568568
target_data: &RustcTargetData<'_>,
569569
force_all_targets: ForceAllTargets,
570-
) -> CargoResult<Vec<&Package>> {
570+
) -> Vec<&Package> {
571571
let mut ret = vec![];
572572

573-
root_ids.iter().for_each(|pkg_id| {
573+
root_ids.iter().for_each(|root_id| {
574574
PackageSet::filter_deps(
575-
*pkg_id,
575+
*root_id,
576576
resolve,
577577
has_dev_units,
578578
requested_kinds,
579579
target_data,
580580
force_all_targets,
581581
)
582-
.for_each(|(package_id, _)| {
582+
.iter()
583+
.for_each(|&package_id| {
583584
if let Ok(dep_pkg) = self.get_one(package_id) {
584585
if !dep_pkg.targets().iter().any(|t| t.is_lib()) {
585586
ret.push(dep_pkg);
@@ -588,34 +589,38 @@ impl<'cfg> PackageSet<'cfg> {
588589
});
589590
});
590591

591-
Ok(ret)
592+
ret
592593
}
593594

594-
fn filter_deps<'a>(
595+
fn filter_deps(
595596
pkg_id: PackageId,
596-
resolve: &'a Resolve,
597+
resolve: &Resolve,
597598
has_dev_units: HasDevUnits,
598-
requested_kinds: &'a [CompileKind],
599-
target_data: &'a RustcTargetData<'_>,
599+
requested_kinds: &[CompileKind],
600+
target_data: &RustcTargetData<'_>,
600601
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 {
613608
return false;
614609
}
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+
})
617621
})
618-
})
622+
.map(|(pkg_id, _)| pkg_id)
623+
.collect()
619624
}
620625

621626
pub fn sources(&self) -> Ref<'_, SourceMap<'cfg>> {

src/cargo/ops/resolve.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ pub fn resolve_ws_with_opts<'cfg>(
179179
requested_targets,
180180
target_data,
181181
force_all_targets,
182-
)?
182+
)
183183
.iter()
184184
.map(|pkg| format!("No lib found in package `{}`.", pkg.name()))
185185
.collect();

0 commit comments

Comments
 (0)