about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEugene R Gonzalez <gene@teamtiki.us>2016-09-01 18:46:30 -0400
committerEugene R Gonzalez <gene@teamtiki.us>2016-09-01 19:08:07 -0400
commit7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b (patch)
treece6f1daff77dc48afe56ddfaf0c5314ea540c63b /src
parent147371f58f1a99e32524d61af1d86b2e1e0a503b (diff)
downloadrust-7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b.tar.gz
rust-7cd4e7ff0b2e0872ed5dac00f3b680e7dbc3d24b.zip
Fixed E0528 label and unit test
Diffstat (limited to 'src')
-rw-r--r--src/librustc_typeck/check/_match.rs9
-rw-r--r--src/test/compile-fail/E0528.rs4
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
         }
     }
 }