Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/next_solver/solver.rs')
| -rw-r--r-- | crates/hir-ty/src/next_solver/solver.rs | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/crates/hir-ty/src/next_solver/solver.rs b/crates/hir-ty/src/next_solver/solver.rs index c7591c0c77..946e57e6cb 100644 --- a/crates/hir-ty/src/next_solver/solver.rs +++ b/crates/hir-ty/src/next_solver/solver.rs @@ -2,6 +2,7 @@ use hir_def::{AssocItemId, GeneralConstId, TypeAliasId}; use rustc_next_trait_solver::delegate::SolverDelegate; +use rustc_type_ir::GenericArgKind; use rustc_type_ir::lang_items::SolverTraitLangItem; use rustc_type_ir::{ InferCtxtLike, Interner, PredicatePolarity, TypeFlags, TypeVisitableExt, UniverseIndex, @@ -65,12 +66,12 @@ impl<'db> SolverDelegate for SolverContext<'db> { (SolverContext(infcx), value, vars) } - fn fresh_var_for_kind_with_span( - &self, - arg: <Self::Interner as rustc_type_ir::Interner>::GenericArg, - span: <Self::Interner as rustc_type_ir::Interner>::Span, - ) -> <Self::Interner as rustc_type_ir::Interner>::GenericArg { - unimplemented!() + fn fresh_var_for_kind_with_span(&self, arg: GenericArg<'db>, span: Span) -> GenericArg<'db> { + match arg.kind() { + GenericArgKind::Lifetime(_) => self.next_region_var().into(), + GenericArgKind::Type(_) => self.next_ty_var().into(), + GenericArgKind::Const(_) => self.next_const_var().into(), + } } fn leak_check( @@ -92,7 +93,8 @@ impl<'db> SolverDelegate for SolverContext<'db> { >, >, > { - unimplemented!() + // FIXME(next-solver): + None } fn make_deduplicated_outlives_constraints( |