diff options
| author | Jonathan Turner <jonathandturner@users.noreply.github.com> | 2016-09-02 15:28:52 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-02 15:28:52 -0700 |
| commit | 6736bad424923cd2915ff79e891e1ff02f16574b (patch) | |
| tree | 296b14088e5717d909a708e59a23ef13f62ed178 | |
| parent | b9996909acc3624be0dd6d31834c5a09c242bd32 (diff) | |
| parent | 7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b (diff) | |
| download | rust-6736bad424923cd2915ff79e891e1ff02f16574b.tar.gz rust-6736bad424923cd2915ff79e891e1ff02f16574b.zip | |
Rollup merge of #36205 - EugeneGonzalez:E0528, r=jonathandturner
Fixed E0528 label and unit test Fixes #36194 part of #35233. r? @jonathandturner
| -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 } } } |
