diff options
Diffstat (limited to 'crates/hir_ty/src/lib.rs')
-rw-r--r-- | crates/hir_ty/src/lib.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/crates/hir_ty/src/lib.rs b/crates/hir_ty/src/lib.rs index ddcee2084..bc7a7369a 100644 --- a/crates/hir_ty/src/lib.rs +++ b/crates/hir_ty/src/lib.rs | |||
@@ -46,7 +46,7 @@ pub use lower::{ | |||
46 | }; | 46 | }; |
47 | pub use traits::{InEnvironment, Obligation, ProjectionPredicate, TraitEnvironment}; | 47 | pub use traits::{InEnvironment, Obligation, ProjectionPredicate, TraitEnvironment}; |
48 | 48 | ||
49 | pub use chalk_ir::{AdtId, BoundVar, DebruijnIndex, Mutability, Scalar, TyVariableKind}; | 49 | pub use chalk_ir::{AdtId, BoundVar, DebruijnIndex, Mutability, Safety, Scalar, TyVariableKind}; |
50 | 50 | ||
51 | pub use crate::traits::chalk::Interner; | 51 | pub use crate::traits::chalk::Interner; |
52 | 52 | ||
@@ -105,10 +105,7 @@ impl TypeWalk for ProjectionTy { | |||
105 | } | 105 | } |
106 | } | 106 | } |
107 | 107 | ||
108 | #[derive(Clone, Copy, PartialEq, Eq, Debug, Hash)] | 108 | pub type FnSig = chalk_ir::FnSig<Interner>; |
109 | pub struct FnSig { | ||
110 | pub variadic: bool, | ||
111 | } | ||
112 | 109 | ||
113 | #[derive(Clone, PartialEq, Eq, Debug, Hash)] | 110 | #[derive(Clone, PartialEq, Eq, Debug, Hash)] |
114 | pub struct FnPointer { | 111 | pub struct FnPointer { |
@@ -643,7 +640,7 @@ impl Ty { | |||
643 | pub fn fn_ptr(sig: CallableSig) -> Self { | 640 | pub fn fn_ptr(sig: CallableSig) -> Self { |
644 | TyKind::Function(FnPointer { | 641 | TyKind::Function(FnPointer { |
645 | num_args: sig.params().len(), | 642 | num_args: sig.params().len(), |
646 | sig: FnSig { variadic: sig.is_varargs }, | 643 | sig: FnSig { abi: (), safety: Safety::Safe, variadic: sig.is_varargs }, |
647 | substs: Substs(sig.params_and_return), | 644 | substs: Substs(sig.params_and_return), |
648 | }) | 645 | }) |
649 | .intern(&Interner) | 646 | .intern(&Interner) |
@@ -945,7 +942,9 @@ impl Ty { | |||
945 | } | 942 | } |
946 | } | 943 | } |
947 | TyKind::Alias(AliasTy::Projection(projection_ty)) => { | 944 | TyKind::Alias(AliasTy::Projection(projection_ty)) => { |
948 | match from_assoc_type_id(projection_ty.associated_ty_id).lookup(db.upcast()).container | 945 | match from_assoc_type_id(projection_ty.associated_ty_id) |
946 | .lookup(db.upcast()) | ||
947 | .container | ||
949 | { | 948 | { |
950 | AssocContainerId::TraitId(trait_id) => Some(trait_id), | 949 | AssocContainerId::TraitId(trait_id) => Some(trait_id), |
951 | _ => None, | 950 | _ => None, |