plural
),
);
- if plural == "" {
+
+ if unmentioned_fields.len() == 1 {
let input =
unmentioned_fields.iter().map(|(_, field)| field.name).collect::<Vec<_>>();
let suggested_name = find_best_match_for_name(&input, ident.name, None);
// We don't want to throw `E0027` in case we have thrown `E0026` for them.
unmentioned_fields.retain(|&(_, x)| x.name != suggested_name);
}
+ } else if inexistent_fields.len() == 1 {
+ let unmentioned_field = unmentioned_fields[0].1.name;
+ err.span_suggestion_short(
+ ident.span,
+ &format!(
+ "`{}` has a field named `{}`",
+ tcx.def_path_str(variant.def_id),
+ unmentioned_field
+ ),
+ unmentioned_field.to_string(),
+ Applicability::MaybeIncorrect,
+ );
}
}
}
--> $DIR/issue-51102.rs:13:17
|
LL | state: 0,
- | ^^^^^ struct `SimpleStruct` does not have this field
+ | ^^^^^
+ | |
+ | struct `SimpleStruct` does not have this field
+ | help: `SimpleStruct` has a field named `no_state_here`
error[E0025]: field `no_state_here` bound multiple times in the pattern
--> $DIR/issue-51102.rs:24:17
--> $DIR/numeric-fields.rs:7:17
|
LL | S{0: a, 0x1: b, ..} => {}
- | ^^^ struct `S` does not have this field
+ | ^^^
+ | |
+ | struct `S` does not have this field
+ | help: `S` has a field named `1`
error: aborting due to 2 previous errors