diff --git a/crate_universe/src/context.rs b/crate_universe/src/context.rs index 2c2ec03c9a..de5225b24e 100644 --- a/crate_universe/src/context.rs +++ b/crate_universe/src/context.rs @@ -412,7 +412,6 @@ mod test { .map(|dep| (&dep.id, context.has_duplicate_workspace_member_dep_by_alias(dep))) .collect::>(), [ - (&CrateId::new("child".to_owned(), Version::new(0, 1, 0)), false), (&CrateId::new("tonic".to_owned(), Version::new(0, 4, 3)), false), (&CrateId::new("tonic-build".to_owned(), Version::new(0, 4, 2)), false), ], diff --git a/crate_universe/src/context/crate_context.rs b/crate_universe/src/context/crate_context.rs index 8fdda79dc2..05c5c69e4a 100644 --- a/crate_universe/src/context/crate_context.rs +++ b/crate_universe/src/context/crate_context.rs @@ -1,6 +1,7 @@ //! Crate specific information embedded into [crate::context::Context] objects. use std::collections::{BTreeMap, BTreeSet}; +use std::str::FromStr; use camino::Utf8PathBuf; use cargo_metadata::{Node, Package, PackageId}; @@ -496,16 +497,8 @@ impl CrateContext { let build_script_attrs = if let Some(target) = build_script_target { // Track the build script dependency - common_attrs.deps.insert( - CrateDependency { - id: current_crate_id, - target: target.crate_name.clone(), - alias: None, - local_path: match source_annotations.get(&annotation.node.id) { - Some(SourceAnnotation::Path { path }) => Some(path.clone()), - _ => None, - }, - }, + common_attrs.extra_deps.insert( + Label::from_str(&format!(":{}", target.crate_name)).unwrap(), None, );