diff options
| author | Eugene R Gonzalez <gene@teamtiki.us> | 2016-09-01 18:46:30 -0400 |
|---|---|---|
| committer | Eugene R Gonzalez <gene@teamtiki.us> | 2016-09-01 19:08:07 -0400 |
| commit | 7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b (patch) | |
| tree | ce6f1daff77dc48afe56ddfaf0c5314ea540c63b /src | |
| parent | 147371f58f1a99e32524d61af1d86b2e1e0a503b (diff) | |
| download | rust-7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b.tar.gz rust-7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b.zip | |
Fixed E0528 label and unit test
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_typeck/check/_match.rs | 9 | ||||
| -rw-r--r-- | src/test/compile-fail/E0528.rs | 4 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/librustc_typeck/check/_match.rs b/src/librustc_typeck/check/_match.rs index 225468cb9f4..e1ce89f0ab5 100644 --- a/src/librustc_typeck/check/_match.rs +++ b/src/librustc_typeck/check/_match.rs @@ -248,9 +248,12 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, '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) } } diff --git a/src/test/compile-fail/E0528.rs b/src/test/compile-fail/E0528.rs index 27187bb5aba..e912650f112 100644 --- a/src/test/compile-fail/E0528.rs +++ b/src/test/compile-fail/E0528.rs @@ -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 } } } |
