Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs')
-rw-r--r--crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs12
1 files changed, 8 insertions, 4 deletions
diff --git a/crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs b/crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs
index 1738552a8e..bda418cf20 100644
--- a/crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs
+++ b/crates/hir-ty/src/next_solver/infer/canonical/instantiate.rs
@@ -404,13 +404,17 @@ impl<'db> InferCtxt<'db> {
if kind.universe() != UniverseIndex::ROOT {
// A variable from inside a binder of the query. While ideally these shouldn't
// exist at all, we have to deal with them for now.
- self.instantiate_canonical_var(kind, var_values, |u| universe_map[u.as_usize()])
+ self.instantiate_canonical_var(cause.span(), kind, var_values, |u| {
+ universe_map[u.as_usize()]
+ })
} else if kind.is_existential() {
match opt_values[BoundVar::new(var_values.len())] {
Some(k) => k,
- None => self.instantiate_canonical_var(kind, var_values, |u| {
- universe_map[u.as_usize()]
- }),
+ None => {
+ self.instantiate_canonical_var(cause.span(), kind, var_values, |u| {
+ universe_map[u.as_usize()]
+ })
+ }
}
} else {
// For placeholders which were already part of the input, we simply map this