Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir-ty/src/infer/expr.rs')
| -rw-r--r-- | crates/hir-ty/src/infer/expr.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/crates/hir-ty/src/infer/expr.rs b/crates/hir-ty/src/infer/expr.rs index 179565440c..b91f32b09e 100644 --- a/crates/hir-ty/src/infer/expr.rs +++ b/crates/hir-ty/src/infer/expr.rs @@ -1748,13 +1748,15 @@ impl InferenceContext<'_> { TyKind::Adt(AdtId(hir_def::AdtId::StructId(s)), parameters) => { let vd = &self.db.struct_data(*s).variant_data; let local_id = vd.field(name)?; - let field = FieldId { parent: (*s).into(), local_id }; + let has_default = vd.fields()[local_id].has_default; + let field = FieldId { parent: (*s).into(), local_id, has_default }; (field, parameters.clone()) } TyKind::Adt(AdtId(hir_def::AdtId::UnionId(u)), parameters) => { let vd = &self.db.union_data(*u).variant_data; let local_id = vd.field(name)?; - let field = FieldId { parent: (*u).into(), local_id }; + let has_default = vd.fields()[local_id].has_default; + let field = FieldId { parent: (*u).into(), local_id, has_default }; (field, parameters.clone()) } _ => return None, |