about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJonathan Turner <jonathandturner@users.noreply.github.com>2016-08-11 06:33:58 -0700
committerGitHub <noreply@github.com>2016-08-11 06:33:58 -0700
commitd2e9573194664a5c12aac9c505972cc689468ccd (patch)
treecbb939fd67ed187a25eabb5169bb9215d1c18878
parente24c326400d4833b8a25596d0a529f07c809c6dd (diff)
parentec1ef79ad9561d1fb6384700c43a48bd3cfe7b7c (diff)
downloadrust-d2e9573194664a5c12aac9c505972cc689468ccd.tar.gz
rust-d2e9573194664a5c12aac9c505972cc689468ccd.zip
Rollup merge of #35445 - pcn:update-E0017-to-new-format, r=arielb1
Update e0017 to new format

Updated `span_err!` to use `struct_span_err!` and provide a `span_label` that describes the error in context.

Updated the test to look for the `span_label`s that are provided now.
-rw-r--r--src/librustc_mir/transform/qualify_consts.rs9
-rw-r--r--src/test/compile-fail/E0017.rs7
2 files changed, 12 insertions, 4 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs
index b16ee957746..132234c8c6b 100644
--- a/src/librustc_mir/transform/qualify_consts.rs
+++ b/src/librustc_mir/transform/qualify_consts.rs
@@ -617,9 +617,12 @@ impl<'a, 'tcx> Visitor<'tcx> for Qualifier<'a, 'tcx, 'tcx> {
                     if !allow {
                         self.add(Qualif::NOT_CONST);
                         if self.mode != Mode::Fn {
-                            span_err!(self.tcx.sess, self.span, E0017,
-                                      "references in {}s may only refer \
-                                       to immutable values", self.mode);
+                            struct_span_err!(self.tcx.sess,  self.span, E0017,
+                                             "references in {}s may only refer \
+                                              to immutable values", self.mode)
+                                .span_label(self.span, &format!("{}s require immutable values",
+                                                                self.mode))
+                                .emit();
                         }
                     }
                 } else {
diff --git a/src/test/compile-fail/E0017.rs b/src/test/compile-fail/E0017.rs
index 13f2c23d8c4..1223a01cbcb 100644
--- a/src/test/compile-fail/E0017.rs
+++ b/src/test/compile-fail/E0017.rs
@@ -12,11 +12,16 @@ static X: i32 = 1;
 const C: i32 = 2;
 
 const CR: &'static mut i32 = &mut C; //~ ERROR E0017
+                                     //~| NOTE constants require immutable values
                                      //~| ERROR E0017
+                                     //~| NOTE constants require immutable values
 static STATIC_REF: &'static mut i32 = &mut X; //~ ERROR E0017
+                                              //~| NOTE statics require immutable values
                                               //~| ERROR E0017
+                                              //~| NOTE statics require immutable values
                                               //~| ERROR E0388
 static CONST_REF: &'static mut i32 = &mut C; //~ ERROR E0017
+                                             //~| NOTE statics require immutable values
                                              //~| ERROR E0017
-
+                                             //~| NOTE statics require immutable values
 fn main() {}