diff --git a/src/cargo/util/toml/mod.rs b/src/cargo/util/toml/mod.rs index e5a512f77..1e027c2ed 100644 --- a/src/cargo/util/toml/mod.rs +++ b/src/cargo/util/toml/mod.rs @@ -645,6 +645,10 @@ fn resolve_toml( .map(|mw| field_inherit_with(mw, "badges", || inherit()?.badges())) .transpose()?; resolved_toml.badges = resolved_badges.map(manifest::InheritableField::Value); + } else { + for field in original_toml.requires_package() { + bail!("this virtual manifest specifies a `{field}` section, which is not allowed"); + } } Ok(resolved_toml) @@ -1513,10 +1517,6 @@ fn to_virtual_manifest( ) -> CargoResult { let root = manifest_file.parent().unwrap(); - for field in original_toml.requires_package() { - bail!("this virtual manifest specifies a `{field}` section, which is not allowed"); - } - let mut deps = Vec::new(); let (replace, patch) = { let mut manifest_ctx = ManifestContext {