]> git.lizzy.rs Git - rust.git/commitdiff
updated E0396 to new error format
authorclementmiao <clementmiao@gmail.com>
Thu, 18 Aug 2016 05:45:21 +0000 (22:45 -0700)
committerclementmiao <clementmiao@gmail.com>
Thu, 18 Aug 2016 05:45:21 +0000 (22:45 -0700)
src/librustc_mir/transform/qualify_consts.rs
src/test/compile-fail/E0396.rs
src/test/compile-fail/const-deref-ptr.rs

index 103a15dadb61cfcc9481049a9eb28d804445bbb3..e5473d288d4f35eaf9e8be8c083e78dcafbb52d1 100644 (file)
@@ -490,9 +490,13 @@ fn visit_lvalue(&mut self, lvalue: &Lvalue<'tcx>, context: LvalueContext) {
                             if let ty::TyRawPtr(_) = base_ty.sty {
                                 this.add(Qualif::NOT_CONST);
                                 if this.mode != Mode::Fn {
-                                    span_err!(this.tcx.sess, this.span, E0396,
-                                              "raw pointers cannot be dereferenced in {}s",
-                                              this.mode);
+                                    struct_span_err!(this.tcx.sess,
+                                        this.span, E0396,
+                                        "raw pointers cannot be dereferenced in {}s",
+                                        this.mode)
+                                    .span_label(this.span,
+                                        &format!("dereference of raw pointer in constant"))
+                                    .emit();
                                 }
                             }
                         }
index 7f34acdfb90075f32480553b877b6573c223ab06..47080fb6e9ef754f64b7fd2d86d59c8f1d68b280 100644 (file)
@@ -11,6 +11,7 @@
 const REG_ADDR: *const u8 = 0x5f3759df as *const u8;
 
 const VALUE: u8 = unsafe { *REG_ADDR }; //~ ERROR E0396
+                  //~| NOTE dereference of raw pointer in constant
 
 fn main() {
 }
index fa15f3e87c6947a4083579f9fe5d27afacf227d3..c626801d48c03e8dd066282e5e868e6c1ea33228 100644 (file)
@@ -12,5 +12,6 @@
 
 fn main() {
     static C: u64 = unsafe {*(0xdeadbeef as *const u64)}; //~ ERROR E0396
+                    //~| NOTE dereference of raw pointer in constant
     println!("{}", C);
 }