diff options
author | Florian Diebold <[email protected]> | 2021-04-05 21:23:16 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2021-04-05 21:23:30 +0100 |
commit | edc59d897d56815e8b9814cdc4ff084100e4f3b4 (patch) | |
tree | 054c1874844107ba3f5ae0e17736213a6cb974ce /crates/hir_ty/src/infer | |
parent | f25c1e7c6a119a1035ba226f0735a0d6667a5db8 (diff) |
Align FnPointer with Chalk
Diffstat (limited to 'crates/hir_ty/src/infer')
-rw-r--r-- | crates/hir_ty/src/infer/expr.rs | 8 | ||||
-rw-r--r-- | crates/hir_ty/src/infer/unify.rs | 6 |
2 files changed, 7 insertions, 7 deletions
diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs index 185a2dfc3..a2a7236a8 100644 --- a/crates/hir_ty/src/infer/expr.rs +++ b/crates/hir_ty/src/infer/expr.rs | |||
@@ -22,8 +22,8 @@ use crate::{ | |||
22 | to_chalk_trait_id, | 22 | to_chalk_trait_id, |
23 | traits::{chalk::from_chalk, FnTrait}, | 23 | traits::{chalk::from_chalk, FnTrait}, |
24 | utils::{generics, variant_data, Generics}, | 24 | utils::{generics, variant_data, Generics}, |
25 | AdtId, Binders, CallableDefId, FnPointer, FnSig, InEnvironment, Interner, ProjectionTyExt, | 25 | AdtId, Binders, CallableDefId, FnPointer, FnSig, FnSubst, InEnvironment, Interner, |
26 | Rawness, Scalar, Substitution, TraitRef, Ty, TyBuilder, TyKind, | 26 | ProjectionTyExt, Rawness, Scalar, Substitution, TraitRef, Ty, TyBuilder, TyKind, |
27 | }; | 27 | }; |
28 | 28 | ||
29 | use super::{ | 29 | use super::{ |
@@ -260,9 +260,9 @@ impl<'a> InferenceContext<'a> { | |||
260 | }; | 260 | }; |
261 | sig_tys.push(ret_ty.clone()); | 261 | sig_tys.push(ret_ty.clone()); |
262 | let sig_ty = TyKind::Function(FnPointer { | 262 | let sig_ty = TyKind::Function(FnPointer { |
263 | num_args: sig_tys.len() - 1, | 263 | num_binders: 0, |
264 | sig: FnSig { abi: (), safety: chalk_ir::Safety::Safe, variadic: false }, | 264 | sig: FnSig { abi: (), safety: chalk_ir::Safety::Safe, variadic: false }, |
265 | substs: Substitution::from_iter(&Interner, sig_tys.clone()), | 265 | substitution: FnSubst(Substitution::from_iter(&Interner, sig_tys.clone())), |
266 | }) | 266 | }) |
267 | .intern(&Interner); | 267 | .intern(&Interner); |
268 | let closure_id = self.db.intern_closure((self.owner, tgt_expr)).into(); | 268 | let closure_id = self.db.intern_closure((self.owner, tgt_expr)).into(); |
diff --git a/crates/hir_ty/src/infer/unify.rs b/crates/hir_ty/src/infer/unify.rs index c90a16720..2f9523325 100644 --- a/crates/hir_ty/src/infer/unify.rs +++ b/crates/hir_ty/src/infer/unify.rs | |||
@@ -7,7 +7,7 @@ use ena::unify::{InPlaceUnificationTable, NoError, UnifyKey, UnifyValue}; | |||
7 | 7 | ||
8 | use super::{DomainGoal, InferenceContext}; | 8 | use super::{DomainGoal, InferenceContext}; |
9 | use crate::{ | 9 | use crate::{ |
10 | AliasEq, AliasTy, BoundVar, Canonical, CanonicalVarKinds, DebruijnIndex, FnPointer, | 10 | AliasEq, AliasTy, BoundVar, Canonical, CanonicalVarKinds, DebruijnIndex, FnPointer, FnSubst, |
11 | InEnvironment, InferenceVar, Interner, Scalar, Substitution, Ty, TyKind, TypeWalk, WhereClause, | 11 | InEnvironment, InferenceVar, Interner, Scalar, Substitution, Ty, TyKind, TypeWalk, WhereClause, |
12 | }; | 12 | }; |
13 | 13 | ||
@@ -308,8 +308,8 @@ impl InferenceTable { | |||
308 | (TyKind::Adt(_, substs1), TyKind::Adt(_, substs2)) | 308 | (TyKind::Adt(_, substs1), TyKind::Adt(_, substs2)) |
309 | | (TyKind::FnDef(_, substs1), TyKind::FnDef(_, substs2)) | 309 | | (TyKind::FnDef(_, substs1), TyKind::FnDef(_, substs2)) |
310 | | ( | 310 | | ( |
311 | TyKind::Function(FnPointer { substs: substs1, .. }), | 311 | TyKind::Function(FnPointer { substitution: FnSubst(substs1), .. }), |
312 | TyKind::Function(FnPointer { substs: substs2, .. }), | 312 | TyKind::Function(FnPointer { substitution: FnSubst(substs2), .. }), |
313 | ) | 313 | ) |
314 | | (TyKind::Tuple(_, substs1), TyKind::Tuple(_, substs2)) | 314 | | (TyKind::Tuple(_, substs1), TyKind::Tuple(_, substs2)) |
315 | | (TyKind::OpaqueType(_, substs1), TyKind::OpaqueType(_, substs2)) | 315 | | (TyKind::OpaqueType(_, substs1), TyKind::OpaqueType(_, substs2)) |