Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/infer/canonical/mod.rs')
-rw-r--r--crates/hir-ty/src/next_solver/infer/canonical/mod.rs18
1 files changed, 8 insertions, 10 deletions
diff --git a/crates/hir-ty/src/next_solver/infer/canonical/mod.rs b/crates/hir-ty/src/next_solver/infer/canonical/mod.rs
index a0420a5a00..1fefc0f265 100644
--- a/crates/hir-ty/src/next_solver/infer/canonical/mod.rs
+++ b/crates/hir-ty/src/next_solver/infer/canonical/mod.rs
@@ -23,7 +23,7 @@
use crate::next_solver::{
ArgOutlivesPredicate, Canonical, CanonicalVarValues, Const, DbInterner, GenericArg,
- OpaqueTypeKey, PlaceholderConst, PlaceholderRegion, PlaceholderTy, Region, Ty, TyKind,
+ OpaqueTypeKey, PlaceholderConst, PlaceholderRegion, PlaceholderType, Region, Ty, TyKind,
infer::InferCtxt,
};
use instantiate::CanonicalExt;
@@ -70,7 +70,7 @@ impl<'db> InferCtxt<'db> {
let var_values = CanonicalVarValues::instantiate(
self.interner,
- canonical.variables,
+ canonical.var_kinds,
|var_values, info| self.instantiate_canonical_var(info, var_values, |ui| universes[ui]),
);
let result = canonical.instantiate(self.interner, &var_values);
@@ -110,9 +110,9 @@ impl<'db> InferCtxt<'db> {
CanonicalVarKind::Float => self.next_float_var().into(),
- CanonicalVarKind::PlaceholderTy(PlaceholderTy { universe, bound }) => {
+ CanonicalVarKind::PlaceholderTy(PlaceholderType { universe, bound, .. }) => {
let universe_mapped = universe_map(universe);
- let placeholder_mapped = PlaceholderTy { universe: universe_mapped, bound };
+ let placeholder_mapped = PlaceholderType::new(universe_mapped, bound);
Ty::new_placeholder(self.interner, placeholder_mapped).into()
}
@@ -120,18 +120,16 @@ impl<'db> InferCtxt<'db> {
self.next_region_var_in_universe(universe_map(ui)).into()
}
- CanonicalVarKind::PlaceholderRegion(PlaceholderRegion { universe, bound }) => {
+ CanonicalVarKind::PlaceholderRegion(PlaceholderRegion { universe, bound, .. }) => {
let universe_mapped = universe_map(universe);
- let placeholder_mapped: crate::next_solver::Placeholder<
- crate::next_solver::BoundRegion,
- > = PlaceholderRegion { universe: universe_mapped, bound };
+ let placeholder_mapped = PlaceholderRegion::new(universe_mapped, bound);
Region::new_placeholder(self.interner, placeholder_mapped).into()
}
CanonicalVarKind::Const(ui) => self.next_const_var_in_universe(universe_map(ui)).into(),
- CanonicalVarKind::PlaceholderConst(PlaceholderConst { universe, bound }) => {
+ CanonicalVarKind::PlaceholderConst(PlaceholderConst { universe, bound, .. }) => {
let universe_mapped = universe_map(universe);
- let placeholder_mapped = PlaceholderConst { universe: universe_mapped, bound };
+ let placeholder_mapped = PlaceholderConst::new(universe_mapped, bound);
Const::new_placeholder(self.interner, placeholder_mapped).into()
}
}