diff options
Diffstat (limited to 'crates/ra_hir')
-rw-r--r-- | crates/ra_hir/src/code_model.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir/src/expr.rs | 4 | ||||
-rw-r--r-- | crates/ra_hir/src/ty.rs | 7 |
3 files changed, 8 insertions, 7 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index c5cf39ee1..a842dfed6 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs | |||
@@ -982,7 +982,7 @@ impl ImplBlock { | |||
982 | } | 982 | } |
983 | } | 983 | } |
984 | 984 | ||
985 | #[derive(Clone, PartialEq, Eq)] | 985 | #[derive(Clone, PartialEq, Eq, Debug)] |
986 | pub struct Type { | 986 | pub struct Type { |
987 | pub(crate) krate: CrateId, | 987 | pub(crate) krate: CrateId, |
988 | pub(crate) ty: InEnvironment<Ty>, | 988 | pub(crate) ty: InEnvironment<Ty>, |
@@ -1104,7 +1104,7 @@ impl Type { | |||
1104 | 1104 | ||
1105 | pub fn as_adt(&self) -> Option<Adt> { | 1105 | pub fn as_adt(&self) -> Option<Adt> { |
1106 | let (adt, _subst) = self.ty.value.as_adt()?; | 1106 | let (adt, _subst) = self.ty.value.as_adt()?; |
1107 | Some(adt) | 1107 | Some(adt.into()) |
1108 | } | 1108 | } |
1109 | 1109 | ||
1110 | fn derived(&self, ty: Ty) -> Type { | 1110 | fn derived(&self, ty: Ty) -> Type { |
diff --git a/crates/ra_hir/src/expr.rs b/crates/ra_hir/src/expr.rs index adb9805ab..5c82c23d6 100644 --- a/crates/ra_hir/src/expr.rs +++ b/crates/ra_hir/src/expr.rs | |||
@@ -12,7 +12,7 @@ use crate::{ | |||
12 | db::HirDatabase, | 12 | db::HirDatabase, |
13 | diagnostics::{MissingFields, MissingOkInTailExpr}, | 13 | diagnostics::{MissingFields, MissingOkInTailExpr}, |
14 | ty::{ApplicationTy, InferenceResult, Ty, TypeCtor}, | 14 | ty::{ApplicationTy, InferenceResult, Ty, TypeCtor}, |
15 | Adt, Function, Name, Path, | 15 | Function, Name, Path, Struct, |
16 | }; | 16 | }; |
17 | 17 | ||
18 | pub use hir_def::{ | 18 | pub use hir_def::{ |
@@ -69,7 +69,7 @@ impl<'a, 'b> ExprValidator<'a, 'b> { | |||
69 | } | 69 | } |
70 | 70 | ||
71 | let struct_def = match self.infer[id].as_adt() { | 71 | let struct_def = match self.infer[id].as_adt() { |
72 | Some((Adt::Struct(s), _)) => s, | 72 | Some((AdtId::StructId(s), _)) => Struct::from(s), |
73 | _ => return, | 73 | _ => return, |
74 | }; | 74 | }; |
75 | 75 | ||
diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs index 680ddc2f9..791b6064a 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs | |||
@@ -22,13 +22,14 @@ use hir_def::{ | |||
22 | expr::ExprId, generics::GenericParams, type_ref::Mutability, AdtId, ContainerId, DefWithBodyId, | 22 | expr::ExprId, generics::GenericParams, type_ref::Mutability, AdtId, ContainerId, DefWithBodyId, |
23 | GenericDefId, HasModule, Lookup, TraitId, TypeAliasId, | 23 | GenericDefId, HasModule, Lookup, TraitId, TypeAliasId, |
24 | }; | 24 | }; |
25 | use hir_expand::name::Name; | ||
25 | use ra_db::{impl_intern_key, salsa}; | 26 | use ra_db::{impl_intern_key, salsa}; |
26 | 27 | ||
27 | use crate::{ | 28 | use crate::{ |
28 | db::HirDatabase, | 29 | db::HirDatabase, |
29 | ty::primitive::{FloatTy, IntTy, Uncertain}, | 30 | ty::primitive::{FloatTy, IntTy, Uncertain}, |
30 | util::make_mut_slice, | 31 | util::make_mut_slice, |
31 | Adt, Crate, Name, | 32 | Crate, |
32 | }; | 33 | }; |
33 | use display::{HirDisplay, HirFormatter}; | 34 | use display::{HirDisplay, HirFormatter}; |
34 | 35 | ||
@@ -598,10 +599,10 @@ impl Ty { | |||
598 | } | 599 | } |
599 | } | 600 | } |
600 | 601 | ||
601 | pub fn as_adt(&self) -> Option<(Adt, &Substs)> { | 602 | pub fn as_adt(&self) -> Option<(AdtId, &Substs)> { |
602 | match self { | 603 | match self { |
603 | Ty::Apply(ApplicationTy { ctor: TypeCtor::Adt(adt_def), parameters }) => { | 604 | Ty::Apply(ApplicationTy { ctor: TypeCtor::Adt(adt_def), parameters }) => { |
604 | Some(((*adt_def).into(), parameters)) | 605 | Some((*adt_def, parameters)) |
605 | } | 606 | } |
606 | _ => None, | 607 | _ => None, |
607 | } | 608 | } |