about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSamuel Cormier-Iijima <sciyoshi@surveymonkey.com>2016-08-04 15:09:15 -0400
committerSamuel Cormier-Iijima <sciyoshi@surveymonkey.com>2016-08-04 15:09:15 -0400
commita0bdb1761892f77e9ebd2fd3e42e8b49ec1e34fe (patch)
tree68cf12cb1d9771942f472b42cdcfcc087b2efff4
parente804a3cf256106c097d44f6e0212cd183122da07 (diff)
downloadrust-a0bdb1761892f77e9ebd2fd3e42e8b49ec1e34fe.tar.gz
rust-a0bdb1761892f77e9ebd2fd3e42e8b49ec1e34fe.zip
Update E0124 to the new error format
-rw-r--r--src/librustc_typeck/collect.rs11
-rw-r--r--src/test/compile-fail/E0124.rs4
-rw-r--r--src/test/compile-fail/struct-fields-decl-dupe.rs4
3 files changed, 12 insertions, 7 deletions
diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs
index 4486748a1f0..921df3db635 100644
--- a/src/librustc_typeck/collect.rs
+++ b/src/librustc_typeck/collect.rs
@@ -1010,11 +1010,12 @@ fn convert_struct_variant<'a, 'tcx>(ccx: &CrateCtxt<'a, 'tcx>,
         let fid = ccx.tcx.map.local_def_id(f.id);
         let dup_span = seen_fields.get(&f.name).cloned();
         if let Some(prev_span) = dup_span {
-            let mut err = struct_span_err!(ccx.tcx.sess, f.span, E0124,
-                                           "field `{}` is already declared",
-                                           f.name);
-            span_note!(&mut err, prev_span, "previously declared here");
-            err.emit();
+            struct_span_err!(ccx.tcx.sess, f.span, E0124,
+                             "field `{}` is already declared",
+                             f.name)
+                .span_label(f.span, &"field already declared")
+                .span_label(prev_span, &format!("`{}` first declared here", f.name))
+                .emit();
         } else {
             seen_fields.insert(f.name, f.span);
         }
diff --git a/src/test/compile-fail/E0124.rs b/src/test/compile-fail/E0124.rs
index 414b19ead62..18c50746106 100644
--- a/src/test/compile-fail/E0124.rs
+++ b/src/test/compile-fail/E0124.rs
@@ -9,8 +9,10 @@
 // except according to those terms.
 
 struct Foo {
+    field1: i32, //~ NOTE `field1` first declared here
     field1: i32,
-    field1: i32, //~ ERROR E0124
+    //~^ ERROR field `field1` is already declared [E0124]
+    //~| NOTE field already declared
 }
 
 fn main() {
diff --git a/src/test/compile-fail/struct-fields-decl-dupe.rs b/src/test/compile-fail/struct-fields-decl-dupe.rs
index 049569e8a18..dd9d7d29468 100644
--- a/src/test/compile-fail/struct-fields-decl-dupe.rs
+++ b/src/test/compile-fail/struct-fields-decl-dupe.rs
@@ -9,8 +9,10 @@
 // except according to those terms.
 
 struct BuildData {
+    foo: isize, //~ NOTE `foo` first declared here
     foo: isize,
-    foo: isize, //~ ERROR field `foo` is already declared
+    //~^ ERROR field `foo` is already declared [E0124]
+    //~| NOTE field already declared
 }
 
 fn main() {