+ if is_tuple_struct_pat && variant.kind() != ty::VariantKind::Tuple {
+ // Matching unit variants with tuple variant patterns (`UnitVariant(..)`)
+ // is allowed for backward compatibility.
+ let is_special_case = variant.kind() == ty::VariantKind::Unit;
+ report_bad_struct_kind(is_special_case);
+ if !is_special_case {
+ return
+ } else {
+ span_note!(tcx.sess, pat.span,
+ "this warning will become a HARD ERROR in a future release. \
+ See RFC 218 for details.");
+ }
+ }