diff options
Diffstat (limited to 'crates/hir_ty/src/builder.rs')
-rw-r--r-- | crates/hir_ty/src/builder.rs | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/crates/hir_ty/src/builder.rs b/crates/hir_ty/src/builder.rs index e25ef866d..893e727c2 100644 --- a/crates/hir_ty/src/builder.rs +++ b/crates/hir_ty/src/builder.rs | |||
@@ -6,15 +6,15 @@ use chalk_ir::{ | |||
6 | cast::{Cast, CastTo, Caster}, | 6 | cast::{Cast, CastTo, Caster}, |
7 | fold::Fold, | 7 | fold::Fold, |
8 | interner::HasInterner, | 8 | interner::HasInterner, |
9 | AdtId, BoundVar, DebruijnIndex, Safety, Scalar, | 9 | AdtId, BoundVar, DebruijnIndex, Scalar, |
10 | }; | 10 | }; |
11 | use hir_def::{builtin_type::BuiltinType, GenericDefId, TraitId, TypeAliasId}; | 11 | use hir_def::{builtin_type::BuiltinType, GenericDefId, TraitId, TypeAliasId}; |
12 | use smallvec::SmallVec; | 12 | use smallvec::SmallVec; |
13 | 13 | ||
14 | use crate::{ | 14 | use crate::{ |
15 | db::HirDatabase, primitive, to_assoc_type_id, to_chalk_trait_id, utils::generics, Binders, | 15 | db::HirDatabase, primitive, to_assoc_type_id, to_chalk_trait_id, utils::generics, Binders, |
16 | CallableSig, FnPointer, FnSig, FnSubst, GenericArg, Interner, ProjectionTy, Substitution, | 16 | CallableSig, GenericArg, Interner, ProjectionTy, Substitution, TraitRef, Ty, TyDefId, TyExt, |
17 | TraitRef, Ty, TyDefId, TyExt, TyKind, ValueTyDefId, | 17 | TyKind, ValueTyDefId, |
18 | }; | 18 | }; |
19 | 19 | ||
20 | /// This is a builder for `Ty` or anything that needs a `Substitution`. | 20 | /// This is a builder for `Ty` or anything that needs a `Substitution`. |
@@ -77,15 +77,7 @@ impl TyBuilder<()> { | |||
77 | } | 77 | } |
78 | 78 | ||
79 | pub fn fn_ptr(sig: CallableSig) -> Ty { | 79 | pub fn fn_ptr(sig: CallableSig) -> Ty { |
80 | TyKind::Function(FnPointer { | 80 | TyKind::Function(sig.to_fn_ptr()).intern(&Interner) |
81 | num_binders: 0, | ||
82 | sig: FnSig { abi: (), safety: Safety::Safe, variadic: sig.is_varargs }, | ||
83 | substitution: FnSubst(Substitution::from_iter( | ||
84 | &Interner, | ||
85 | sig.params_and_return.iter().cloned(), | ||
86 | )), | ||
87 | }) | ||
88 | .intern(&Interner) | ||
89 | } | 81 | } |
90 | 82 | ||
91 | pub fn builtin(builtin: BuiltinType) -> Ty { | 83 | pub fn builtin(builtin: BuiltinType) -> Ty { |