From e7065b7f92c777b70065b51f930fa494600cd275 Mon Sep 17 00:00:00 2001
From: Chiu-Hsiang Hsu <wdv4758h@gmail.com>
Date: Wed, 10 Aug 2016 15:29:45 +0800
Subject: [PATCH] Update E0133 to new format

---
 src/librustc/middle/effect.rs                 | 8 +++++---
 src/test/compile-fail/E0133.rs                | 4 +++-
 src/test/compile-fail/issue-28776.rs          | 4 +++-
 src/test/compile-fail/trait-safety-fn-body.rs | 4 +++-
 src/test/compile-fail/unsafe-const-fn.rs      | 4 +++-
 5 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/librustc/middle/effect.rs b/src/librustc/middle/effect.rs
index 446767ecbca..3ca6cf03997 100644
--- a/src/librustc/middle/effect.rs
+++ b/src/librustc/middle/effect.rs
@@ -63,9 +63,11 @@ impl<'a, 'tcx> EffectCheckVisitor<'a, 'tcx> {
         match self.unsafe_context.root {
             SafeContext => {
                 // Report an error.
-                span_err!(self.tcx.sess, span, E0133,
-                          "{} requires unsafe function or block",
-                          description);
+                struct_span_err!(
+                    self.tcx.sess, span, E0133,
+                    "{} requires unsafe function or block", description)
+                    .span_label(span, &format!("unsafe call requires unsafe function or block"))
+                    .emit();
             }
             UnsafeBlock(block_id) => {
                 // OK, but record this.
diff --git a/src/test/compile-fail/E0133.rs b/src/test/compile-fail/E0133.rs
index 630ee851d0a..b8a4476fc59 100644
--- a/src/test/compile-fail/E0133.rs
+++ b/src/test/compile-fail/E0133.rs
@@ -11,5 +11,7 @@
 unsafe fn f() { return; }
 
 fn main() {
-    f(); //~ ERROR E0133
+    f();
+    //~^ ERROR E0133
+    //~| NOTE unsafe call requires unsafe function or block
 }
diff --git a/src/test/compile-fail/issue-28776.rs b/src/test/compile-fail/issue-28776.rs
index ce06c8bf220..52b0eba96cb 100644
--- a/src/test/compile-fail/issue-28776.rs
+++ b/src/test/compile-fail/issue-28776.rs
@@ -11,5 +11,7 @@
 use std::ptr;
 
 fn main() {
-    (&ptr::write)(1 as *mut _, 42); //~ ERROR E0133
+    (&ptr::write)(1 as *mut _, 42);
+    //~^ ERROR E0133
+    //~| NOTE unsafe call requires unsafe function or block
 }
diff --git a/src/test/compile-fail/trait-safety-fn-body.rs b/src/test/compile-fail/trait-safety-fn-body.rs
index 499b58f70d7..0df7ee8cabe 100644
--- a/src/test/compile-fail/trait-safety-fn-body.rs
+++ b/src/test/compile-fail/trait-safety-fn-body.rs
@@ -18,7 +18,9 @@ unsafe trait UnsafeTrait : Sized {
 unsafe impl UnsafeTrait for *mut isize {
     fn foo(self) {
         // Unsafe actions are not made legal by taking place in an unsafe trait:
-        *self += 1; //~ ERROR E0133
+        *self += 1;
+        //~^ ERROR E0133
+        //~| NOTE unsafe call requires unsafe function or block
     }
 }
 
diff --git a/src/test/compile-fail/unsafe-const-fn.rs b/src/test/compile-fail/unsafe-const-fn.rs
index 24ac41ce884..174939b0900 100644
--- a/src/test/compile-fail/unsafe-const-fn.rs
+++ b/src/test/compile-fail/unsafe-const-fn.rs
@@ -16,7 +16,9 @@ const unsafe fn dummy(v: u32) -> u32 {
     !v
 }
 
-const VAL: u32 = dummy(0xFFFF); //~ ERROR E0133
+const VAL: u32 = dummy(0xFFFF);
+//~^ ERROR E0133
+//~| NOTE unsafe call requires unsafe function or block
 
 fn main() {
     assert_eq!(VAL, 0xFFFF0000);