From 620769f32276bb7e8c580eae2c91ee535a06d9f8 Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Sat, 3 Apr 2021 21:29:49 +0200 Subject: Add TyBuilder::adt --- crates/hir_ty/src/lower.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'crates/hir_ty/src/lower.rs') diff --git a/crates/hir_ty/src/lower.rs b/crates/hir_ty/src/lower.rs index e60d7c730..5e2024f0a 100644 --- a/crates/hir_ty/src/lower.rs +++ b/crates/hir_ty/src/lower.rs @@ -36,7 +36,7 @@ use crate::{ AliasEq, AliasTy, Binders, BoundVar, CallableSig, DebruijnIndex, DynTy, FnPointer, FnSig, ImplTraitId, OpaqueTy, PolyFnSig, ProjectionTy, QuantifiedWhereClause, QuantifiedWhereClauses, ReturnTypeImplTrait, ReturnTypeImplTraits, Substitution, TraitEnvironment, TraitRef, Ty, - TyKind, TypeWalk, WhereClause, + TyBuilder, TyKind, TypeWalk, WhereClause, }; #[derive(Debug)] @@ -1141,9 +1141,10 @@ fn type_for_enum_variant_constructor(db: &dyn HirDatabase, def: EnumVariantId) - } fn type_for_adt(db: &dyn HirDatabase, adt: AdtId) -> Binders { - let generics = generics(db.upcast(), adt.into()); - let substs = Substitution::bound_vars(&generics, DebruijnIndex::INNERMOST); - Binders::new(substs.len(&Interner), Ty::adt_ty(adt, substs)) + let b = TyBuilder::adt(db, adt); + let num_binders = b.remaining(); + let ty = b.fill_with_bound_vars(DebruijnIndex::INNERMOST, 0).build(); + Binders::new(num_binders, ty) } fn type_for_type_alias(db: &dyn HirDatabase, t: TypeAliasId) -> Binders { -- cgit v1.2.3