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.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/project-model/src/workspace.rs b/crates/project-model/src/workspace.rs
index 8982a9904e..052d8fee25 100644
--- a/crates/project-model/src/workspace.rs
+++ b/crates/project-model/src/workspace.rs
@@ -541,8 +541,6 @@ fn cargo_to_crate_graph(
let mut pkg_to_lib_crate = FxHashMap::default();
- // Add test cfg for non-sysroot crates
- cfg_options.insert_atom("test".into());
cfg_options.insert_atom("debug_assertions".into());
let mut pkg_crates = FxHashMap::default();
@@ -558,6 +556,13 @@ fn cargo_to_crate_graph(
CfgOverrides::Selective(cfg_overrides) => cfg_overrides.get(&cargo[pkg].name),
};
+ // Add test cfg for local crates
+ if cargo[pkg].is_local {
+ replaced_cfg_options = cfg_options.clone();
+ replaced_cfg_options.insert_atom("test".into());
+ cfg_options = &replaced_cfg_options;
+ }
+
if let Some(overrides) = overrides {
// FIXME: this is sort of a hack to deal with #![cfg(not(test))] vanishing such as seen
// in ed25519_dalek (#7243), and libcore (#9203) (although you only hit that one while