diff options
| author | Jonathan Turner <jonathandturner@users.noreply.github.com> | 2016-08-11 06:33:58 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-08-11 06:33:58 -0700 |
| commit | d2e9573194664a5c12aac9c505972cc689468ccd (patch) | |
| tree | cbb939fd67ed187a25eabb5169bb9215d1c18878 | |
| parent | e24c326400d4833b8a25596d0a529f07c809c6dd (diff) | |
| parent | ec1ef79ad9561d1fb6384700c43a48bd3cfe7b7c (diff) | |
| download | rust-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.rs | 9 | ||||
| -rw-r--r-- | src/test/compile-fail/E0017.rs | 7 |
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() {} |
