diff --git a/src/cargo/util/toml/mod.rs b/src/cargo/util/toml/mod.rs index b49bdce51..3db1cf464 100644 --- a/src/cargo/util/toml/mod.rs +++ b/src/cargo/util/toml/mod.rs @@ -2196,7 +2196,18 @@ impl TomlDependency

{ label, label )).map(|dep| { match dep { - TomlDependency::Simple(s) => TomlDependency::Simple(s), + TomlDependency::Simple(s) => { + if optional.is_some() || features.is_some() { + TomlDependency::Detailed(DetailedTomlDependency::

{ + version: Some(s), + optional, + features, + ..Default::default() + }) + } else { + TomlDependency::Simple(s) + } + }, TomlDependency::Detailed(d) => { let mut dep = d.clone(); dep.add_features(features);