diff options
Diffstat (limited to 'crates/ra_hir/src/ty.rs')
-rw-r--r-- | crates/ra_hir/src/ty.rs | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs index 54eece165..e5f8ffc2e 100644 --- a/crates/ra_hir/src/ty.rs +++ b/crates/ra_hir/src/ty.rs | |||
@@ -349,7 +349,7 @@ impl Ty { | |||
349 | } | 349 | } |
350 | 350 | ||
351 | // Resolve in module (in type namespace) | 351 | // Resolve in module (in type namespace) |
352 | let resolved = if let Some(r) = module.resolve_path(db, path)?.take_types() { | 352 | let resolved = if let Some(r) = module.resolve_path(db, path).take_types() { |
353 | r | 353 | r |
354 | } else { | 354 | } else { |
355 | return Ok(Ty::Unknown); | 355 | return Ok(Ty::Unknown); |
@@ -447,8 +447,8 @@ impl fmt::Display for Ty { | |||
447 | /// function body. | 447 | /// function body. |
448 | fn type_for_fn(db: &impl HirDatabase, f: Function) -> Cancelable<Ty> { | 448 | fn type_for_fn(db: &impl HirDatabase, f: Function) -> Cancelable<Ty> { |
449 | let signature = f.signature(db); | 449 | let signature = f.signature(db); |
450 | let module = f.module(db)?; | 450 | let module = f.module(db); |
451 | let impl_block = f.impl_block(db)?; | 451 | let impl_block = f.impl_block(db); |
452 | // TODO we ignore type parameters for now | 452 | // TODO we ignore type parameters for now |
453 | let input = signature | 453 | let input = signature |
454 | .params() | 454 | .params() |
@@ -517,8 +517,8 @@ pub(super) fn type_for_field( | |||
517 | def_id | 517 | def_id |
518 | ), | 518 | ), |
519 | }; | 519 | }; |
520 | let module = def_id.module(db)?; | 520 | let module = def_id.module(db); |
521 | let impl_block = def_id.impl_block(db)?; | 521 | let impl_block = def_id.impl_block(db); |
522 | let type_ref = ctry!(variant_data.get_field_type_ref(&field)); | 522 | let type_ref = ctry!(variant_data.get_field_type_ref(&field)); |
523 | Ok(Some(Ty::from_hir( | 523 | Ok(Some(Ty::from_hir( |
524 | db, | 524 | db, |
@@ -860,7 +860,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
860 | }; | 860 | }; |
861 | 861 | ||
862 | // resolve in module | 862 | // resolve in module |
863 | let resolved = ctry!(self.module.resolve_path(self.db, &path)?.take_values()); | 863 | let resolved = ctry!(self.module.resolve_path(self.db, &path).take_values()); |
864 | let ty = self.db.type_for_def(resolved)?; | 864 | let ty = self.db.type_for_def(resolved)?; |
865 | let ty = self.insert_type_vars(ty); | 865 | let ty = self.insert_type_vars(ty); |
866 | Ok(Some(ty)) | 866 | Ok(Some(ty)) |
@@ -872,7 +872,7 @@ impl<'a, D: HirDatabase> InferenceContext<'a, D> { | |||
872 | } else { | 872 | } else { |
873 | return Ok((Ty::Unknown, None)); | 873 | return Ok((Ty::Unknown, None)); |
874 | }; | 874 | }; |
875 | let def_id = if let Some(def_id) = self.module.resolve_path(self.db, &path)?.take_types() { | 875 | let def_id = if let Some(def_id) = self.module.resolve_path(self.db, &path).take_types() { |
876 | def_id | 876 | def_id |
877 | } else { | 877 | } else { |
878 | return Ok((Ty::Unknown, None)); | 878 | return Ok((Ty::Unknown, None)); |
@@ -1207,8 +1207,8 @@ pub fn infer(db: &impl HirDatabase, def_id: DefId) -> Cancelable<Arc<InferenceRe | |||
1207 | let function = Function::new(def_id); // TODO: consts also need inference | 1207 | let function = Function::new(def_id); // TODO: consts also need inference |
1208 | let body = function.body(db); | 1208 | let body = function.body(db); |
1209 | let scopes = db.fn_scopes(def_id); | 1209 | let scopes = db.fn_scopes(def_id); |
1210 | let module = function.module(db)?; | 1210 | let module = function.module(db); |
1211 | let impl_block = function.impl_block(db)?; | 1211 | let impl_block = function.impl_block(db); |
1212 | let mut ctx = InferenceContext::new(db, body, scopes, module, impl_block); | 1212 | let mut ctx = InferenceContext::new(db, body, scopes, module, impl_block); |
1213 | 1213 | ||
1214 | let signature = function.signature(db); | 1214 | let signature = function.signature(db); |