From ccd193a1b06a8c111f1372e9d702e70890a6a941 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Tue, 3 Dec 2024 15:01:42 -0600 Subject: [PATCH] refactor(fix): Centralize share manifest load/save across Editions --- src/cargo/ops/fix.rs | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/cargo/ops/fix.rs b/src/cargo/ops/fix.rs index 6e4c718fc..86bb66396 100644 --- a/src/cargo/ops/fix.rs +++ b/src/cargo/ops/fix.rs @@ -268,15 +268,15 @@ fn migrate_manifests(ws: &Workspace<'_>, pkgs: &[&Package]) -> CargoResult<()> { format!("{file} from {existing_edition} edition to {prepare_for_edition}"), )?; + let mut manifest_mut = LocalManifest::try_new(pkg.manifest_path())?; + let document = &mut manifest_mut.data; + let mut fixes = 0; + let ws_original_toml = match ws.root_maybe() { MaybePackage::Package(package) => package.manifest().original_toml(), MaybePackage::Virtual(manifest) => manifest.original_toml(), }; if Edition::Edition2024 <= prepare_for_edition { - let mut manifest_mut = LocalManifest::try_new(pkg.manifest_path())?; - let document = &mut manifest_mut.data; - let mut fixes = 0; - let root = document.as_table_mut(); if let Some(workspace) = root @@ -331,14 +331,14 @@ fn migrate_manifests(ws: &Workspace<'_>, pkgs: &[&Package]) -> CargoResult<()> { ws_original_toml, ); } + } - if 0 < fixes { - let verb = if fixes == 1 { "fix" } else { "fixes" }; - let msg = format!("{file} ({fixes} {verb})"); - ws.gctx().shell().status("Fixed", msg)?; + if 0 < fixes { + let verb = if fixes == 1 { "fix" } else { "fixes" }; + let msg = format!("{file} ({fixes} {verb})"); + ws.gctx().shell().status("Fixed", msg)?; - manifest_mut.write()?; - } + manifest_mut.write()?; } }