Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/project-model/src/workspace.rs')
| -rw-r--r-- | crates/project-model/src/workspace.rs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/crates/project-model/src/workspace.rs b/crates/project-model/src/workspace.rs index a0b185a3a5..065b25d746 100644 --- a/crates/project-model/src/workspace.rs +++ b/crates/project-model/src/workspace.rs @@ -938,7 +938,7 @@ fn cargo_to_crate_graph( // Get all dependencies of the workspace members that are used as dev-dependencies for pkg in cargo.packages() { for dep in &cargo[pkg].dependencies { - if dep.kind == DepKind::Dev { + if dep.kind == DepKind::Dev && cargo[dep.pkg].is_member { work.push(dep.pkg); } } @@ -955,6 +955,10 @@ fn cargo_to_crate_graph( } v.insert({ let duped = crate_graph.duplicate(to); + tracing::info!( + "duplicating workspace crate {:?} as it is being used as a dev-dependency: {to:?} -> {duped:?}", + crate_graph[to].display_name + ); if let Some(proc_macro) = proc_macros.get(&to).cloned() { proc_macros.insert(duped, proc_macro); } @@ -1008,7 +1012,12 @@ fn cargo_to_crate_graph( for (&pkg, targets) in &pkg_crates { for &(krate, _) in targets { - if test_dupes.get(&krate).is_some() { + if let Some(&dupe) = test_dupes.get(&krate) { + tracing::info!( + "{krate:?} {:?} {dupe:?} {:?}", + crate_graph[krate].cfg_options, + crate_graph[dupe].cfg_options + ); // if the crate got duped as a dev-dep the dupe already has test set continue; } |