Skip to content

Commit f1f8f60

Browse files
author
Alex Helfet
committed
Re-write to avoid recursion.
1 parent 1bcf7f1 commit f1f8f60

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/cargo/ops/cargo_generate_lockfile.rs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -47,12 +47,16 @@ pub fn update_lockfile(ws: &Workspace<'_>, opts: &UpdateOptions<'_>) -> CargoRes
4747
let previous_resolve = match ops::load_pkg_lockfile(ws)? {
4848
Some(resolve) => resolve,
4949
None => {
50-
generate_lockfile(ws)?;
5150
match opts.precise {
52-
None => return Ok(()),
53-
54-
// Precise option specified, so re-run to do the rest of the update.
55-
Some(_) => return update_lockfile(ws, opts)
51+
None => return generate_lockfile(ws),
52+
53+
// Precise option specified, so calculate a previous_resolve required
54+
// by precise package update later.
55+
Some(_) => {
56+
let mut registry = PackageRegistry::new(opts.config)?;
57+
ops::resolve_with_previous(&mut registry, ws, Method::Everything,
58+
None, None, &[], true)?
59+
}
5660
}
5761
}
5862
};

0 commit comments

Comments
 (0)