Diagnostic note when matching tuple enum with struct pattern
This commit is contained in:
parent
14039a42ac
commit
8a66362430
1 changed files with 8 additions and 5 deletions
|
|
@ -787,11 +787,14 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
|
|||
for field in variant.fields
|
||||
.iter()
|
||||
.filter(|field| !used_fields.contains_key(&field.name)) {
|
||||
struct_span_err!(tcx.sess, span, E0027,
|
||||
"pattern does not mention field `{}`",
|
||||
field.name)
|
||||
.span_label(span, format!("missing field `{}`", field.name))
|
||||
.emit();
|
||||
let mut diag = struct_span_err!(tcx.sess, span, E0027,
|
||||
"pattern does not mention field `{}`",
|
||||
field.name);
|
||||
diag.span_label(span, format!("missing field `{}`", field.name));
|
||||
if variant.ctor_kind == CtorKind::Fn {
|
||||
diag.note("trying to match a tuple variant with a struct variant pattern");
|
||||
}
|
||||
diag.emit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue