From edc59d897d56815e8b9814cdc4ff084100e4f3b4 Mon Sep 17 00:00:00 2001 From: Florian Diebold Date: Mon, 5 Apr 2021 22:23:16 +0200 Subject: Align FnPointer with Chalk --- crates/hir_ty/src/builder.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'crates/hir_ty/src/builder.rs') diff --git a/crates/hir_ty/src/builder.rs b/crates/hir_ty/src/builder.rs index 9b2c6975a..791915fe0 100644 --- a/crates/hir_ty/src/builder.rs +++ b/crates/hir_ty/src/builder.rs @@ -12,8 +12,8 @@ use smallvec::SmallVec; use crate::{ db::HirDatabase, primitive, to_assoc_type_id, to_chalk_trait_id, utils::generics, Binders, - CallableSig, FnPointer, FnSig, GenericArg, Interner, ProjectionTy, Substitution, TraitRef, Ty, - TyDefId, TyKind, TypeWalk, ValueTyDefId, + CallableSig, FnPointer, FnSig, FnSubst, GenericArg, Interner, ProjectionTy, Substitution, + TraitRef, Ty, TyDefId, TyKind, TypeWalk, ValueTyDefId, }; /// This is a builder for `Ty` or anything that needs a `Substitution`. @@ -78,9 +78,12 @@ impl TyBuilder<()> { pub fn fn_ptr(sig: CallableSig) -> Ty { TyKind::Function(FnPointer { - num_args: sig.params().len(), + num_binders: 0, sig: FnSig { abi: (), safety: Safety::Safe, variadic: sig.is_varargs }, - substs: Substitution::from_iter(&Interner, sig.params_and_return.iter().cloned()), + substitution: FnSubst(Substitution::from_iter( + &Interner, + sig.params_and_return.iter().cloned(), + )), }) .intern(&Interner) } -- cgit v1.2.3