Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs21
1 files changed, 3 insertions, 18 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index f4e58d88ed..18de04b16d 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -32,7 +32,7 @@ pub mod symbols;
mod display;
-use std::{collections::HashMap, iter, ops::ControlFlow, sync::Arc};
+use std::{iter, ops::ControlFlow, sync::Arc};
use arrayvec::ArrayVec;
use base_db::{CrateDisplayName, CrateId, CrateOrigin, Edition, FileId, ProcMacroKind};
@@ -55,9 +55,7 @@ use hir_def::{
use hir_expand::{name::name, MacroCallKind};
use hir_ty::{
autoderef,
- consteval::{
- eval_const, unknown_const_as_generic, ComputedExpr, ConstEvalCtx, ConstEvalError, ConstExt,
- },
+ consteval::{unknown_const_as_generic, ComputedExpr, ConstEvalError, ConstExt},
diagnostics::BodyValidationDiagnostic,
method_resolution::{self, TyFingerprint},
primitive::UintTy,
@@ -1602,20 +1600,7 @@ impl Const {
}
pub fn eval(self, db: &dyn HirDatabase) -> Result<ComputedExpr, ConstEvalError> {
- let body = db.body(self.id.into());
- let root = &body.exprs[body.body_expr];
- let infer = db.infer_query(self.id.into());
- let infer = infer.as_ref();
- let result = eval_const(
- root,
- &mut ConstEvalCtx {
- exprs: &body.exprs,
- pats: &body.pats,
- local_data: HashMap::default(),
- infer: &mut |x| infer[x].clone(),
- },
- );
- result
+ db.const_eval(self.id)
}
}