@@ -11,7 +11,7 @@ use ops::FilterRule;
11
11
use serde:: { Deserialize , Serialize } ;
12
12
use toml_edit:: easy as toml;
13
13
14
- use crate :: core:: compiler:: Freshness ;
14
+ use crate :: core:: compiler:: { DirtyReason , Freshness } ;
15
15
use crate :: core:: Target ;
16
16
use crate :: core:: { Dependency , FeatureValue , Package , PackageId , QueryKind , Source , SourceId } ;
17
17
use crate :: ops:: { self , CompileFilter , CompileOptions } ;
@@ -170,7 +170,7 @@ impl InstallTracker {
170
170
// Check if any tracked exe's are already installed.
171
171
let duplicates = self . find_duplicates ( dst, & exes) ;
172
172
if force || duplicates. is_empty ( ) {
173
- return Ok ( ( Freshness :: Dirty ( None ) , duplicates) ) ;
173
+ return Ok ( ( Freshness :: Dirty ( Some ( DirtyReason :: Forced ) ) , duplicates) ) ;
174
174
}
175
175
// Check if all duplicates come from packages of the same name. If
176
176
// there are duplicates from other packages, then --force will be
@@ -200,7 +200,7 @@ impl InstallTracker {
200
200
let source_id = pkg. package_id ( ) . source_id ( ) ;
201
201
if source_id. is_path ( ) {
202
202
// `cargo install --path ...` is always rebuilt.
203
- return Ok ( ( Freshness :: Dirty ( None ) , duplicates) ) ;
203
+ return Ok ( ( Freshness :: Dirty ( Some ( DirtyReason :: Forced ) ) , duplicates) ) ;
204
204
}
205
205
let is_up_to_date = |dupe_pkg_id| {
206
206
let info = self
@@ -224,7 +224,7 @@ impl InstallTracker {
224
224
if matching_duplicates. iter ( ) . all ( is_up_to_date) {
225
225
Ok ( ( Freshness :: Fresh , duplicates) )
226
226
} else {
227
- Ok ( ( Freshness :: Dirty ( None ) , duplicates) )
227
+ Ok ( ( Freshness :: Dirty ( Some ( DirtyReason :: Forced ) ) , duplicates) )
228
228
}
229
229
} else {
230
230
// Format the error message.
0 commit comments