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.rs | 43 |
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] |