use crate::{db::DefDatabase, nameres::*, test_db::TestDB};
-fn compute_crate_def_map(fixture: &str) -> Arc<CrateDefMap> {
- let db = TestDB::with_files(fixture);
+fn compute_crate_def_map(ra_fixture: &str) -> Arc<DefMap> {
+ let db = TestDB::with_files(ra_fixture);
let krate = db.crate_graph().iter().next().unwrap();
db.crate_def_map(krate)
}
fn check(ra_fixture: &str, expect: Expect) {
- let db = TestDB::with_files(ra_fixture);
- let krate = db.crate_graph().iter().next().unwrap();
- let actual = db.crate_def_map(krate).dump();
+ let def_map = compute_crate_def_map(ra_fixture);
+ let actual = def_map.dump();
expect.assert_eq(&actual);
}
"#]],
);
}
+
+#[test]
+fn cfg_the_entire_crate() {
+ check(
+ r#"
+//- /main.rs
+#![cfg(never)]
+
+pub struct S;
+pub enum E {}
+pub fn f() {}
+ "#,
+ expect![[r#"
+ crate
+ "#]],
+ );
+}