Rollup merge of #36205 - EugeneGonzalez:E0528, r=jonathandturner

Fixed E0528 label and unit test

Fixes #36194 part of #35233.

r? @jonathandturner
This commit is contained in:
Jonathan Turner
2016-09-02 15:28:52 -07:00
committed by GitHub
2 changed files with 9 additions and 4 deletions
+6 -3
View File
@@ -248,9 +248,12 @@ pub fn check_pat(&self, pat: &'gcx hir::Pat, expected: Ty<'tcx>) {
} else if let Some(rest) = size.checked_sub(min_len) {
(inner_ty, tcx.mk_array(inner_ty, rest))
} else {
span_err!(tcx.sess, pat.span, E0528,
"pattern requires at least {} elements but array has {}",
min_len, size);
struct_span_err!(tcx.sess, pat.span, E0528,
"pattern requires at least {} elements but array has {}",
min_len, size)
.span_label(pat.span,
&format!("pattern cannot match array of {} elements", size))
.emit();
(inner_ty, tcx.types.err)
}
}
+3 -1
View File
@@ -13,7 +13,9 @@
fn main() {
let r = &[1, 2];
match r {
&[a, b, c, rest..] => { //~ ERROR E0528
&[a, b, c, rest..] => {
//~^ ERROR E0528
//~| NOTE pattern cannot match array of 2 elements
}
}
}