about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorJonathan Turner <jonathandturner@users.noreply.github.com>2016-08-07 09:59:42 -0700
committerGitHub <noreply@github.com>2016-08-07 09:59:42 -0700
commit4df58252bfda31b94aa28255af8d8bc320a2c2a7 (patch)
tree7076f8b09c3597ee66a78af823147758667ba816 /src
parent46392c807692104957545396d38bedc31591777d (diff)
parentc9e9d425769274b59734d852a8ae64c9fef16d78 (diff)
downloadrust-4df58252bfda31b94aa28255af8d8bc320a2c2a7.tar.gz
rust-4df58252bfda31b94aa28255af8d8bc320a2c2a7.zip
Rollup merge of #35410 - silenuss:e0027-formatting, r=jonathandturner
Update compiler error 0027 to use new error format.

Part of #35233,
Addresses #35200

r? @jonathandturner
Diffstat (limited to 'src')
-rw-r--r--src/librustc_typeck/check/_match.rs8
-rw-r--r--src/test/compile-fail/E0027.rs4
2 files changed, 8 insertions, 4 deletions
diff --git a/src/librustc_typeck/check/_match.rs b/src/librustc_typeck/check/_match.rs
index aae6e3ad36d..47f75e2f499 100644
--- a/src/librustc_typeck/check/_match.rs
+++ b/src/librustc_typeck/check/_match.rs
@@ -700,9 +700,11 @@ impl<'a, 'gcx, 'tcx> FnCtxt<'a, 'gcx, 'tcx> {
             for field in variant.fields
                 .iter()
                 .filter(|field| !used_fields.contains_key(&field.name)) {
-                span_err!(tcx.sess, span, E0027,
-                    "pattern does not mention field `{}`",
-                    field.name);
+                struct_span_err!(tcx.sess, span, E0027,
+                                "pattern does not mention field `{}`",
+                                field.name)
+                                .span_label(span, &format!("missing field `{}`", field.name))
+                                .emit();
             }
         }
     }
diff --git a/src/test/compile-fail/E0027.rs b/src/test/compile-fail/E0027.rs
index b2f20442b77..ca496a24701 100644
--- a/src/test/compile-fail/E0027.rs
+++ b/src/test/compile-fail/E0027.rs
@@ -17,6 +17,8 @@ fn main() {
     let d = Dog { name: "Rusty".to_string(), age: 8 };
 
     match d {
-        Dog { age: x } => {} //~ ERROR E0027
+        Dog { age: x } => {}
+        //~^ ERROR pattern does not mention field `name`
+        //~| NOTE missing field `name`
     }
 }