Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/lower/tests.rs')
-rw-r--r--crates/hir-ty/src/mir/lower/tests.rs43
1 files changed, 15 insertions, 28 deletions
diff --git a/crates/hir-ty/src/mir/lower/tests.rs b/crates/hir-ty/src/mir/lower/tests.rs
index 1d7a16ed72..38fc7ad78a 100644
--- a/crates/hir-ty/src/mir/lower/tests.rs
+++ b/crates/hir-ty/src/mir/lower/tests.rs
@@ -1,36 +1,23 @@
-use hir_def::db::DefDatabase;
-use rustc_hash::FxHashMap;
-use span::Edition;
use test_fixture::WithFixture;
-use triomphe::Arc;
-use crate::{
- db::HirDatabase,
- mir::{MirBody, MirLowerError},
- setup_tracing,
- test_db::TestDB,
-};
+use crate::{db::HirDatabase, setup_tracing, test_db::TestDB};
-fn lower_mir(
- #[rust_analyzer::rust_fixture] ra_fixture: &str,
-) -> FxHashMap<String, Result<Arc<MirBody>, MirLowerError>> {
+fn lower_mir(#[rust_analyzer::rust_fixture] ra_fixture: &str) {
let _tracing = setup_tracing();
let (db, file_ids) = TestDB::with_many_files(ra_fixture);
- let file_id = *file_ids.last().unwrap();
- let module_id = db.module_for_file(file_id.file_id(&db));
- let def_map = module_id.def_map(&db);
- let scope = &def_map[module_id.local_id].scope;
- let funcs = scope.declarations().filter_map(|x| match x {
- hir_def::ModuleDefId::FunctionId(it) => Some(it),
- _ => None,
- });
- funcs
- .map(|func| {
- let name = db.function_signature(func).name.display(&db, Edition::CURRENT).to_string();
- let mir = db.mir_body(func.into());
- (name, mir)
- })
- .collect()
+ crate::attach_db(&db, || {
+ let file_id = *file_ids.last().unwrap();
+ let module_id = db.module_for_file(file_id.file_id(&db));
+ let def_map = module_id.def_map(&db);
+ let scope = &def_map[module_id.local_id].scope;
+ let funcs = scope.declarations().filter_map(|x| match x {
+ hir_def::ModuleDefId::FunctionId(it) => Some(it),
+ _ => None,
+ });
+ for func in funcs {
+ _ = db.mir_body(func.into());
+ }
+ })
}
#[test]