Skip to content

Commit 327649b

Browse files
committed
refactor: make keep-previous-lockfile clousre a type alias
1 parent 178bde7 commit 327649b

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/cargo/ops/resolve.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ use anyhow::Context as _;
8181
use std::collections::{HashMap, HashSet};
8282
use tracing::{debug, trace};
8383

84+
/// Filter for keep using Package ID from previous lockfile.
85+
type Keep<'a> = &'a dyn Fn(&PackageId) -> bool;
86+
8487
/// Result for `resolve_ws_with_opts`.
8588
pub struct WorkspaceResolve<'gctx> {
8689
/// Packages to be downloaded.
@@ -317,7 +320,7 @@ pub fn resolve_with_previous<'gctx>(
317320
cli_features: &CliFeatures,
318321
has_dev_units: HasDevUnits,
319322
previous: Option<&Resolve>,
320-
keep_previous: Option<&dyn Fn(&PackageId) -> bool>,
323+
keep_previous: Option<Keep<'_>>,
321324
specs: &[PackageIdSpec],
322325
register_patches: bool,
323326
) -> CargoResult<Resolve> {
@@ -492,7 +495,7 @@ fn register_previous_locks(
492495
ws: &Workspace<'_>,
493496
registry: &mut PackageRegistry<'_>,
494497
resolve: &Resolve,
495-
keep: &dyn Fn(&PackageId) -> bool,
498+
keep: Keep<'_>,
496499
dev_deps: bool,
497500
) {
498501
let path_pkg = |id: SourceId| {
@@ -789,7 +792,7 @@ fn register_patch_entries(
789792
ws: &Workspace<'_>,
790793
previous: Option<&Resolve>,
791794
version_prefs: &mut VersionPreferences,
792-
keep_previous: &dyn Fn(&PackageId) -> bool,
795+
keep_previous: Keep<'_>,
793796
) -> CargoResult<HashSet<PackageId>> {
794797
let mut avoid_patch_ids = HashSet::new();
795798
for (url, patches) in ws.root_patch()?.iter() {
@@ -900,7 +903,7 @@ fn register_patch_entries(
900903
fn lock_replacements(
901904
ws: &Workspace<'_>,
902905
previous: Option<&Resolve>,
903-
keep: &dyn Fn(&PackageId) -> bool,
906+
keep: Keep<'_>,
904907
) -> Vec<(PackageIdSpec, Dependency)> {
905908
let root_replace = ws.root_replace();
906909
let replace = match previous {

0 commit comments

Comments
 (0)