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.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/crates/hir-ty/src/infer/expr.rs b/crates/hir-ty/src/infer/expr.rs
index 680800244b..e07a1b2ba4 100644
--- a/crates/hir-ty/src/infer/expr.rs
+++ b/crates/hir-ty/src/infer/expr.rs
@@ -1073,7 +1073,10 @@ impl<'db> InferenceContext<'_, 'db> {
variant_field_tys[i].get().instantiate(interner, args)
} else {
if let Some(field_idx) = seen_fields.get(&name) {
- // FIXME: Emit an error: duplicate field.
+ self.push_diagnostic(InferenceDiagnostic::DuplicateField {
+ field: field.expr.into(),
+ variant,
+ });
variant_field_tys[*field_idx].get().instantiate(interner, args)
} else {
self.push_diagnostic(InferenceDiagnostic::NoSuchField {