Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/layout/tests.rs')
-rw-r--r--crates/hir-ty/src/layout/tests.rs60
1 files changed, 31 insertions, 29 deletions
diff --git a/crates/hir-ty/src/layout/tests.rs b/crates/hir-ty/src/layout/tests.rs
index 275ad841f4..f0fed83597 100644
--- a/crates/hir-ty/src/layout/tests.rs
+++ b/crates/hir-ty/src/layout/tests.rs
@@ -3,7 +3,7 @@ use either::Either;
use hir_def::db::DefDatabase;
use project_model::{Sysroot, toolchain_info::QueryConfig};
use rustc_hash::FxHashMap;
-use rustc_type_ir::inherent::{GenericArgs as _, Ty as _};
+use rustc_type_ir::inherent::GenericArgs as _;
use syntax::ToSmolStr;
use test_fixture::WithFixture;
use triomphe::Arc;
@@ -11,7 +11,7 @@ use triomphe::Arc;
use crate::{
db::HirDatabase,
layout::{Layout, LayoutError},
- next_solver::{AdtDef, DbInterner, GenericArgs, mapping::ChalkToNextSolver},
+ next_solver::{DbInterner, GenericArgs},
setup_tracing,
test_db::TestDB,
};
@@ -79,12 +79,12 @@ fn eval_goal(
Some(adt_or_type_alias_id)
})
.unwrap();
- salsa::attach(&db, || {
+ crate::attach_db(&db, || {
let interner = DbInterner::new_with(&db, None, None);
let goal_ty = match adt_or_type_alias_id {
Either::Left(adt_id) => crate::next_solver::Ty::new_adt(
interner,
- AdtDef::new(adt_id, interner),
+ adt_id,
GenericArgs::identity_for_item(interner, adt_id.into()),
),
Either::Right(ty_id) => db.ty(ty_id.into()).instantiate_identity(),
@@ -112,31 +112,33 @@ fn eval_expr(
);
let (db, file_id) = TestDB::with_single_file(&ra_fixture);
- 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 function_id = scope
- .declarations()
- .find_map(|x| match x {
- hir_def::ModuleDefId::FunctionId(x) => {
- let name =
- db.function_signature(x).name.display_no_db(file_id.edition(&db)).to_smolstr();
- (name == "main").then_some(x)
- }
- _ => None,
- })
- .unwrap();
- let hir_body = db.body(function_id.into());
- let b = hir_body
- .bindings()
- .find(|x| x.1.name.display_no_db(file_id.edition(&db)).to_smolstr() == "goal")
- .unwrap()
- .0;
- let infer = db.infer(function_id.into());
- let goal_ty = infer.type_of_binding[b].clone();
- salsa::attach(&db, || {
- let interner = DbInterner::new_with(&db, None, None);
- db.layout_of_ty(goal_ty.to_nextsolver(interner), db.trait_environment(function_id.into()))
+ crate::attach_db(&db, || {
+ 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 function_id = scope
+ .declarations()
+ .find_map(|x| match x {
+ hir_def::ModuleDefId::FunctionId(x) => {
+ let name = db
+ .function_signature(x)
+ .name
+ .display_no_db(file_id.edition(&db))
+ .to_smolstr();
+ (name == "main").then_some(x)
+ }
+ _ => None,
+ })
+ .unwrap();
+ let hir_body = db.body(function_id.into());
+ let b = hir_body
+ .bindings()
+ .find(|x| x.1.name.display_no_db(file_id.edition(&db)).to_smolstr() == "goal")
+ .unwrap()
+ .0;
+ let infer = db.infer(function_id.into());
+ let goal_ty = infer.type_of_binding[b];
+ db.layout_of_ty(goal_ty, db.trait_environment(function_id.into()))
})
}