From e8c5dc48063f5290af195f66ae718f78cd6cee9e Mon Sep 17 00:00:00 2001 From: Cobrand Date: Tue, 30 Aug 2016 00:33:29 +0200 Subject: [PATCH] Updated E0527 to new error format * Closes #36113 --- src/librustc_typeck/check/_match.rs | 9 ++++++--- src/test/compile-fail/E0527.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 c67b98761aa6e..17fb683391982 100644 --- a/src/librustc_typeck/check/_match.rs +++ b/src/librustc_typeck/check/_match.rs @@ -233,9 +233,12 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> { let min_len = before.len() + after.len(); if slice.is_none() { if min_len != size { - span_err!(tcx.sess, pat.span, E0527, - "pattern requires {} elements but array has {}", - min_len, size); + struct_span_err!( + tcx.sess, pat.span, E0527, + "pattern requires {} elements but array has {}", + min_len, size) + .span_label(pat.span, &format!("expected {} elements",size)) + .emit(); } (inner_ty, tcx.types.err) } else if let Some(rest) = size.checked_sub(min_len) { diff --git a/src/test/compile-fail/E0527.rs b/src/test/compile-fail/E0527.rs index f03f35a57104f..0b664094a40d7 100644 --- a/src/test/compile-fail/E0527.rs +++ b/src/test/compile-fail/E0527.rs @@ -13,7 +13,9 @@ fn main() { let r = &[1, 2, 3, 4]; match r { - &[a, b] => { //~ ERROR E0527 + &[a, b] => { + //~^ ERROR E0527 + //~| NOTE expected 4 elements println!("a={}, b={}", a, b); } }