From 11448b44fe8939f1ebae74929f6a74207e5a3d1e Mon Sep 17 00:00:00 2001 From: Ed Page Date: Thu, 11 Apr 2024 12:07:05 -0500 Subject: [PATCH] refactor(resolve): Abstract out MSRV policy tracking --- src/cargo/core/workspace.rs | 4 ++++ src/cargo/ops/resolve.rs | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cargo/core/workspace.rs b/src/cargo/core/workspace.rs index 652e8adab..9f2a7db43 100644 --- a/src/cargo/core/workspace.rs +++ b/src/cargo/core/workspace.rs @@ -605,6 +605,10 @@ impl<'gctx> Workspace<'gctx> { self.members().filter_map(|pkg| pkg.rust_version()).min() } + pub fn resolve_honors_rust_version(&self) -> bool { + self.gctx().cli_unstable().msrv_policy + } + pub fn custom_metadata(&self) -> Option<&toml::Value> { self.custom_metadata.as_ref() } diff --git a/src/cargo/ops/resolve.rs b/src/cargo/ops/resolve.rs index 31a375514..61c014b4c 100644 --- a/src/cargo/ops/resolve.rs +++ b/src/cargo/ops/resolve.rs @@ -323,7 +323,7 @@ pub fn resolve_with_previous<'gctx>( if ws.gctx().cli_unstable().minimal_versions { version_prefs.version_ordering(VersionOrdering::MinimumVersionsFirst) } - if ws.gctx().cli_unstable().msrv_policy { + if ws.resolve_honors_rust_version() { version_prefs.max_rust_version(ws.rust_version().cloned().map(RustVersion::into_partial)); }