@@ -103,7 +103,7 @@ pub struct Workspace<'gctx> {
103
103
104
104
/// The resolver behavior specified with the `resolver` field.
105
105
resolve_behavior : ResolveBehavior ,
106
- resolve_honors_rust_version : bool ,
106
+ resolve_honors_rust_version : Option < bool > ,
107
107
honor_rust_version : Option < bool > ,
108
108
109
109
/// Workspace-level custom metadata
@@ -234,7 +234,7 @@ impl<'gctx> Workspace<'gctx> {
234
234
loaded_packages : RefCell :: new ( HashMap :: new ( ) ) ,
235
235
ignore_lock : false ,
236
236
resolve_behavior : ResolveBehavior :: V1 ,
237
- resolve_honors_rust_version : false ,
237
+ resolve_honors_rust_version : None ,
238
238
honor_rust_version : None ,
239
239
custom_metadata : None ,
240
240
}
@@ -310,7 +310,7 @@ impl<'gctx> Workspace<'gctx> {
310
310
ResolveBehavior :: V1 | ResolveBehavior :: V2 => { }
311
311
ResolveBehavior :: V3 => {
312
312
if self . resolve_behavior == ResolveBehavior :: V3 {
313
- self . resolve_honors_rust_version = true ;
313
+ self . resolve_honors_rust_version = Some ( true ) ;
314
314
}
315
315
}
316
316
}
@@ -320,7 +320,7 @@ impl<'gctx> Workspace<'gctx> {
320
320
} ) => {
321
321
if self . gctx ( ) . cli_unstable ( ) . msrv_policy {
322
322
self . resolve_honors_rust_version =
323
- precedence == CargoResolverPrecedence :: SomethingLikeRustVersion ;
323
+ Some ( precedence == CargoResolverPrecedence :: SomethingLikeRustVersion ) ;
324
324
} else {
325
325
self . gctx ( )
326
326
. shell ( )
@@ -660,7 +660,8 @@ impl<'gctx> Workspace<'gctx> {
660
660
pub fn resolve_honors_rust_version ( & self ) -> bool {
661
661
// Give CLI precedence
662
662
self . honor_rust_version
663
- . unwrap_or ( self . resolve_honors_rust_version )
663
+ . or ( self . resolve_honors_rust_version )
664
+ . unwrap_or ( false )
664
665
}
665
666
666
667
pub fn custom_metadata ( & self ) -> Option < & toml:: Value > {
0 commit comments