diff options
| author | Knight <knight42@mail.ustc.edu.cn> | 2016-08-17 01:40:57 +0800 |
|---|---|---|
| committer | Knight <knight42@mail.ustc.edu.cn> | 2016-08-17 03:02:25 +0800 |
| commit | 3caa451b9db58836301dd93ffabc0fb493dd4fe7 (patch) | |
| tree | c9341bc166d635e1a73aec975459aa5ef9a91478 /src | |
| parent | d2e78956c39c1b1e94169f2a1f7cde34aef4ff96 (diff) | |
| download | rust-3caa451b9db58836301dd93ffabc0fb493dd4fe7.tar.gz rust-3caa451b9db58836301dd93ffabc0fb493dd4fe7.zip | |
Updated E0394 to new error message
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_mir/transform/qualify_consts.rs | 5 | ||||
| -rw-r--r-- | src/test/compile-fail/E0394.rs | 5 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/librustc_mir/transform/qualify_consts.rs b/src/librustc_mir/transform/qualify_consts.rs index 103a15dadb6..1de67922b1b 100644 --- a/src/librustc_mir/transform/qualify_consts.rs +++ b/src/librustc_mir/transform/qualify_consts.rs @@ -277,7 +277,10 @@ impl<'a, 'tcx> Qualifier<'a, 'tcx, 'tcx> { } else { "cannot refer to statics by value, use a constant instead" }; - span_err!(self.tcx.sess, self.span, E0394, "{}", msg); + struct_span_err!(self.tcx.sess, self.span, E0394, "{}", msg) + .span_label(self.span, &format!("referring to another static by value")) + .note(&format!("use the address-of operator or a constant instead")) + .emit(); // Replace STATIC with NOT_CONST to avoid further errors. self.qualif = self.qualif - Qualif::STATIC; diff --git a/src/test/compile-fail/E0394.rs b/src/test/compile-fail/E0394.rs index 1b86b8ad674..e35d038248c 100644 --- a/src/test/compile-fail/E0394.rs +++ b/src/test/compile-fail/E0394.rs @@ -9,7 +9,10 @@ // except according to those terms. static A: u32 = 0; -static B: u32 = A; //~ ERROR E0394 +static B: u32 = A; +//~^ ERROR E0394 +//~| NOTE referring to another static by value +//~| NOTE use the address-of operator or a constant instead fn main() { } |
