From 6be8b347cc89ab46cdc2e1c7eda1fa44251a8212 Mon Sep 17 00:00:00 2001 From: Ed Page Date: Mon, 8 Jul 2024 16:44:24 -0500 Subject: [PATCH] refactor(toml): Make room for resolving features --- src/cargo/util/toml/mod.rs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/cargo/util/toml/mod.rs b/src/cargo/util/toml/mod.rs index 1d2c23a92b6d..c70badc45c3c 100644 --- a/src/cargo/util/toml/mod.rs +++ b/src/cargo/util/toml/mod.rs @@ -291,7 +291,7 @@ fn resolve_toml( dev_dependencies2: None, build_dependencies: None, build_dependencies2: None, - features: original_toml.features.clone(), + features: None, target: None, replace: original_toml.replace.clone(), patch: original_toml.patch.clone(), @@ -322,6 +322,8 @@ fn resolve_toml( }); resolved_toml.package = Some(resolved_package); + resolved_toml.features = resolve_features(original_toml.features.as_ref())?; + resolved_toml.lib = targets::resolve_lib( original_toml.lib.as_ref(), package_root, @@ -686,6 +688,17 @@ fn default_readme_from_package_root(package_root: &Path) -> Option { None } +#[tracing::instrument(skip_all)] +fn resolve_features( + original_features: Option<&BTreeMap>>, +) -> CargoResult>>> { + let Some(resolved_features) = original_features.cloned() else { + return Ok(None); + }; + + Ok(Some(resolved_features)) +} + #[tracing::instrument(skip_all)] fn resolve_dependencies<'a>( gctx: &GlobalContext,