diff options
Diffstat (limited to 'crates/hir_ty/src/infer/expr.rs')
-rw-r--r-- | crates/hir_ty/src/infer/expr.rs | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/crates/hir_ty/src/infer/expr.rs b/crates/hir_ty/src/infer/expr.rs index 5b3cdab4e..9ab0fa212 100644 --- a/crates/hir_ty/src/infer/expr.rs +++ b/crates/hir_ty/src/infer/expr.rs | |||
@@ -21,7 +21,7 @@ use crate::{ | |||
21 | primitive::{self, UintTy}, | 21 | primitive::{self, UintTy}, |
22 | static_lifetime, to_chalk_trait_id, | 22 | static_lifetime, 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, Generics}, |
25 | AdtId, Binders, CallableDefId, FnPointer, FnSig, FnSubst, InEnvironment, Interner, | 25 | AdtId, Binders, CallableDefId, FnPointer, FnSig, FnSubst, InEnvironment, Interner, |
26 | ProjectionTyExt, Rawness, Scalar, Substitution, TraitRef, Ty, TyBuilder, TyExt, TyKind, | 26 | ProjectionTyExt, Rawness, Scalar, Substitution, TraitRef, Ty, TyBuilder, TyExt, TyKind, |
27 | TypeWalk, | 27 | TypeWalk, |
@@ -414,7 +414,7 @@ impl<'a> InferenceContext<'a> { | |||
414 | 414 | ||
415 | let substs = ty.substs().cloned().unwrap_or_else(|| Substitution::empty(&Interner)); | 415 | let substs = ty.substs().cloned().unwrap_or_else(|| Substitution::empty(&Interner)); |
416 | let field_types = def_id.map(|it| self.db.field_types(it)).unwrap_or_default(); | 416 | let field_types = def_id.map(|it| self.db.field_types(it)).unwrap_or_default(); |
417 | let variant_data = def_id.map(|it| variant_data(self.db.upcast(), it)); | 417 | let variant_data = def_id.map(|it| it.variant_data(self.db.upcast())); |
418 | for field in fields.iter() { | 418 | for field in fields.iter() { |
419 | let field_def = | 419 | let field_def = |
420 | variant_data.as_ref().and_then(|it| match it.field(&field.name) { | 420 | variant_data.as_ref().and_then(|it| match it.field(&field.name) { |
@@ -426,9 +426,6 @@ impl<'a> InferenceContext<'a> { | |||
426 | None | 426 | None |
427 | } | 427 | } |
428 | }); | 428 | }); |
429 | if let Some(field_def) = field_def { | ||
430 | self.result.record_field_resolutions.insert(field.expr, field_def); | ||
431 | } | ||
432 | let field_ty = field_def.map_or(self.err_ty(), |it| { | 429 | let field_ty = field_def.map_or(self.err_ty(), |it| { |
433 | field_types[it.local_id].clone().substitute(&Interner, &substs) | 430 | field_types[it.local_id].clone().substitute(&Interner, &substs) |
434 | }); | 431 | }); |