Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/mir/eval.rs')
-rw-r--r--crates/hir-ty/src/mir/eval.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/crates/hir-ty/src/mir/eval.rs b/crates/hir-ty/src/mir/eval.rs
index ec0723c3f8..a85b3ef50a 100644
--- a/crates/hir-ty/src/mir/eval.rs
+++ b/crates/hir-ty/src/mir/eval.rs
@@ -730,7 +730,10 @@ impl<'db> Evaluator<'db> {
self.param_env.param_env,
ty,
|c, subst, f| {
- let InternedClosure(def, _) = self.db.lookup_intern_closure(c);
+ let InternedClosure(owner, _) = self.db.lookup_intern_closure(c);
+ let Some(def) = owner.as_def_with_body() else {
+ return Ty::new_error(self.interner(), ErrorGuaranteed);
+ };
let infer = InferenceResult::for_body(self.db, def);
let (captures, _) = infer.closure_info(c);
let parent_subst = subst.as_closure().parent_args();
@@ -1954,6 +1957,9 @@ impl<'db> Evaluator<'db> {
MirEvalError::ConstEvalError(name, Box::new(e))
})?
}
+ GeneralConstId::AnonConstId(_) => {
+ not_supported!("anonymous const evaluation")
+ }
};
if let ConstKind::Value(value) = result_owner.kind() {
break 'b value;