diff options
| -rw-r--r-- | crates/project-model/src/workspace.rs | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/crates/project-model/src/workspace.rs b/crates/project-model/src/workspace.rs index 8982a9904ec..052d8fee255 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 |
