@@ -489,8 +489,6 @@ pub fn to_real_manifest(
489
489
let mut warnings = vec ! [ ] ;
490
490
let mut errors = vec ! [ ] ;
491
491
492
- warn_on_unused ( & original_toml. _unused_keys , & mut warnings) ;
493
-
494
492
// Parse features first so they will be available when parsing other parts of the TOML.
495
493
let empty = Vec :: new ( ) ;
496
494
let cargo_features = original_toml. cargo_features . as_ref ( ) . unwrap_or ( & empty) ;
@@ -1221,6 +1219,7 @@ pub fn to_real_manifest(
1221
1219
. to_owned ( ) ,
1222
1220
) ;
1223
1221
}
1222
+ warn_on_unused ( & manifest. original_toml ( ) . _unused_keys , & mut warnings) ;
1224
1223
for warning in warnings {
1225
1224
manifest. warnings_mut ( ) . add_warning ( warning) ;
1226
1225
}
@@ -1291,6 +1290,8 @@ fn to_virtual_manifest(
1291
1290
) -> CargoResult < VirtualManifest > {
1292
1291
let root = manifest_file. parent ( ) . unwrap ( ) ;
1293
1292
1293
+ let mut resolved_toml = original_toml. clone ( ) ;
1294
+
1294
1295
if let Some ( deps) = original_toml
1295
1296
. workspace
1296
1297
. as_ref ( )
@@ -1316,7 +1317,7 @@ fn to_virtual_manifest(
1316
1317
let cargo_features = original_toml. cargo_features . as_ref ( ) . unwrap_or ( & empty) ;
1317
1318
let features = Features :: new ( cargo_features, gctx, & mut warnings, source_id. is_path ( ) ) ?;
1318
1319
1319
- warn_on_unused ( & original_toml . _unused_keys , & mut warnings ) ;
1320
+ resolved_toml . _unused_keys = Default :: default ( ) ;
1320
1321
1321
1322
let ( replace, patch) = {
1322
1323
let mut manifest_ctx = ManifestContext {
@@ -1355,7 +1356,6 @@ fn to_virtual_manifest(
1355
1356
bail ! ( "virtual manifests must be configured with [workspace]" ) ;
1356
1357
}
1357
1358
} ;
1358
- let resolved_toml = original_toml. clone ( ) ;
1359
1359
let mut manifest = VirtualManifest :: new (
1360
1360
Rc :: new ( contents) ,
1361
1361
Rc :: new ( document) ,
@@ -1367,6 +1367,8 @@ fn to_virtual_manifest(
1367
1367
features,
1368
1368
resolve_behavior,
1369
1369
) ;
1370
+
1371
+ warn_on_unused ( & manifest. original_toml ( ) . _unused_keys , & mut warnings) ;
1370
1372
for warning in warnings {
1371
1373
manifest. warnings_mut ( ) . add_warning ( warning) ;
1372
1374
}
0 commit comments