about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Poveda <cn.poveda.ruiz@gmail.com>2016-08-04 23:22:46 -0500
committerChristian Poveda <cn.poveda.ruiz@gmail.com>2016-08-04 23:22:46 -0500
commit8641bc267cad2e86f3c73060cc12be6f754207e2 (patch)
tree190cd19118164a089e7757129b46ec76968c1332
parent545a3a94fcbdd68c4eeb60848c8eae2118c639c7 (diff)
Updated E0081 to new format
-rw-r--r--src/librustc_typeck/check/mod.rs5
-rw-r--r--src/test/compile-fail/issue-15524.rs15
2 files changed, 12 insertions, 8 deletions
diff --git a/src/librustc_typeck/check/mod.rs b/src/librustc_typeck/check/mod.rs
index 6062bd048b3..3e715d14bc0 100644
--- a/src/librustc_typeck/check/mod.rs
+++ b/src/librustc_typeck/check/mod.rs
@@ -1251,8 +1251,9 @@ pub fn check_enum_variants<'a,'tcx>(ccx: &CrateCtxt<'a,'tcx>,
                 let mut err = struct_span_err!(ccx.tcx.sess, v.span, E0081,
                     "discriminant value `{}` already exists", disr_vals[i]);
                 let variant_i_node_id = ccx.tcx.map.as_local_node_id(variants[i].did).unwrap();
-                span_note!(&mut err, ccx.tcx.map.span(variant_i_node_id),
-                    "conflicting discriminant here");
+                err.span_label(ccx.tcx.map.span(variant_i_node_id),
+                               &format!("first use of `{}`", disr_vals[i]));
+                err.span_label(v.span , &format!("enum already has `{}`", disr_vals[i]));
                 err.emit();
             }
             disr_vals.push(current_disr_val);
diff --git a/src/test/compile-fail/issue-15524.rs b/src/test/compile-fail/issue-15524.rs
index bdf344dcdfe..867dafb5ea7 100644
--- a/src/test/compile-fail/issue-15524.rs
+++ b/src/test/compile-fail/issue-15524.rs
@@ -12,13 +12,16 @@ const N: isize = 1;
 
 enum Foo {
     A = 1,
-    B = 1, //~ ERROR discriminant value `1isize` already exists
-    //~^^ NOTE conflicting
+    B = 1, //~ ERROR discriminant value
+    //~^ NOTE enum already
+    //~^^^ NOTE first use
     C = 0,
-    D, //~ ERROR discriminant value `1isize` already exists
-    //~^^^^^ NOTE conflicting
-    E = N, //~ ERROR discriminant value `1isize` already exists
-    //~^^^^^^^ NOTE conflicting
+    D, //~ ERROR discriminant value
+    //~^ NOTE enum already
+    //~^^^^^^^ NOTE first use
+    E = N, //~ ERROR discriminant value
+    //~^ NOTE enum already
+    //~^^^^^^^^^^ NOTE first use
 }
 
 fn main() {}