]> git.lizzy.rs Git - rust.git/commitdiff
Update E0445 and E0454 to new error format
authorMohit Agarwal <mohit@sdf.org>
Wed, 24 Aug 2016 12:13:51 +0000 (17:43 +0530)
committerYour Name <foo@bar.com>
Wed, 24 Aug 2016 12:13:51 +0000 (17:43 +0530)
Fixes #35922.
Fixes #35930.
Part of #35233.

r? @GuillaumeGomez

src/librustc_metadata/creader.rs
src/librustc_privacy/lib.rs
src/test/compile-fail/E0445.rs
src/test/compile-fail/E0454.rs

index 4a656b180f259edc3bd05a49dd4e36f304e71327..46469efea6bc830a7a2b8ab2e34b24d8126fea2a 100644 (file)
@@ -101,8 +101,10 @@ fn register_native_lib(sess: &Session,
     if name.is_empty() {
         match span {
             Some(span) => {
-                span_err!(sess, span, E0454,
-                          "#[link(name = \"\")] given with empty name");
+                struct_span_err!(sess, span, E0454,
+                                 "#[link(name = \"\")] given with empty name")
+                    .span_label(span, &format!("empty name given"))
+                    .emit();
             }
             None => {
                 sess.err("empty library name given via `-l`");
index de9ddcd934216e4cbcecf16de4c0cbdffc8a6d05..028632ad7c006b90632cb90f681d47480019d4b6 100644 (file)
@@ -964,8 +964,11 @@ fn visit_trait_ref(&mut self, trait_ref: &hir::TraitRef) {
             if !vis.is_at_least(self.required_visibility, &self.tcx.map) {
                 if self.tcx.sess.features.borrow().pub_restricted ||
                    self.old_error_set.contains(&trait_ref.ref_id) {
-                    span_err!(self.tcx.sess, trait_ref.path.span, E0445,
-                              "private trait in public interface");
+                    struct_span_err!(self.tcx.sess, trait_ref.path.span, E0445,
+                                     "private trait in public interface")
+                        .span_label(trait_ref.path.span, &format!(
+                                    "private trait can't be public"))
+                        .emit();
                 } else {
                     self.tcx.sess.add_lint(lint::builtin::PRIVATE_IN_PUBLIC,
                                            node_id,
index 6b360c60a0f90ee2718b79326fc1cd938d5c4bbe..7c5c862a6f812ab724520c75f9260fde6aaa5061 100644 (file)
@@ -12,8 +12,14 @@ trait Foo {
     fn dummy(&self) { }
 }
 
-pub trait Bar : Foo {} //~ ERROR E0445
-pub struct Bar2<T: Foo>(pub T); //~ ERROR E0445
-pub fn foo<T: Foo> (t: T) {} //~ ERROR E0445
+pub trait Bar : Foo {}
+//~^ ERROR private trait in public interface [E0445]
+//~| NOTE private trait can't be public
+pub struct Bar2<T: Foo>(pub T);
+//~^ ERROR private trait in public interface [E0445]
+//~| NOTE private trait can't be public
+pub fn foo<T: Foo> (t: T) {}
+//~^ ERROR private trait in public interface [E0445]
+//~| NOTE private trait can't be public
 
 fn main() {}
index 1439c3133d9ca22588aaa1f38714d4c96a74e8cf..39887927c885fe79ea604300065112683b57ad6f 100644 (file)
@@ -8,7 +8,9 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#[link(name = "")] extern {} //~ ERROR E0454
+#[link(name = "")] extern {}
+//~^ ERROR E0454
+//~| NOTE empty name given
 
 fn main() {
 }