Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/consteval/tests.rs')
-rw-r--r--crates/hir-ty/src/consteval/tests.rs48
1 files changed, 25 insertions, 23 deletions
diff --git a/crates/hir-ty/src/consteval/tests.rs b/crates/hir-ty/src/consteval/tests.rs
index 299b73a7d6..1586846bbe 100644
--- a/crates/hir-ty/src/consteval/tests.rs
+++ b/crates/hir-ty/src/consteval/tests.rs
@@ -36,12 +36,12 @@ fn check_fail(
error: impl FnOnce(ConstEvalError) -> bool,
) {
let (db, file_id) = TestDB::with_single_file(ra_fixture);
- match eval_goal(&db, file_id) {
+ salsa::attach(&db, || match eval_goal(&db, file_id) {
Ok(_) => panic!("Expected fail, but it succeeded"),
Err(e) => {
- assert!(error(simplify(e.clone())), "Actual error was: {}", pretty_print_err(e, db))
+ assert!(error(simplify(e.clone())), "Actual error was: {}", pretty_print_err(e, &db))
}
- }
+ })
}
#[track_caller]
@@ -79,36 +79,38 @@ fn check_answer(
check: impl FnOnce(&[u8], &MemoryMap<'_>),
) {
let (db, file_ids) = TestDB::with_many_files(ra_fixture);
- let file_id = *file_ids.last().unwrap();
- let r = match eval_goal(&db, file_id) {
- Ok(t) => t,
- Err(e) => {
- let err = pretty_print_err(e, db);
- panic!("Error in evaluating goal: {err}");
- }
- };
- match &r.data(Interner).value {
- chalk_ir::ConstValue::Concrete(c) => match &c.interned {
- ConstScalar::Bytes(b, mm) => {
- check(b, mm);
+ salsa::attach(&db, || {
+ let file_id = *file_ids.last().unwrap();
+ let r = match eval_goal(&db, file_id) {
+ Ok(t) => t,
+ Err(e) => {
+ let err = pretty_print_err(e, &db);
+ panic!("Error in evaluating goal: {err}");
}
- x => panic!("Expected number but found {x:?}"),
- },
- _ => panic!("result of const eval wasn't a concrete const"),
- }
+ };
+ match &r.data(Interner).value {
+ chalk_ir::ConstValue::Concrete(c) => match &c.interned {
+ ConstScalar::Bytes(b, mm) => {
+ check(b, mm);
+ }
+ x => panic!("Expected number but found {x:?}"),
+ },
+ _ => panic!("result of const eval wasn't a concrete const"),
+ }
+ });
}
-fn pretty_print_err(e: ConstEvalError, db: TestDB) -> String {
+fn pretty_print_err(e: ConstEvalError, db: &TestDB) -> String {
let mut err = String::new();
let span_formatter = |file, range| format!("{file:?} {range:?}");
let display_target =
- DisplayTarget::from_crate(&db, *db.all_crates().last().expect("no crate graph present"));
+ DisplayTarget::from_crate(db, *db.all_crates().last().expect("no crate graph present"));
match e {
ConstEvalError::MirLowerError(e) => {
- e.pretty_print(&mut err, &db, span_formatter, display_target)
+ e.pretty_print(&mut err, db, span_formatter, display_target)
}
ConstEvalError::MirEvalError(e) => {
- e.pretty_print(&mut err, &db, span_formatter, display_target)
+ e.pretty_print(&mut err, db, span_formatter, display_target)
}
}
.unwrap();