From 1aedc45f85fe9feb70971f9d0c743c4af550a080 Mon Sep 17 00:00:00 2001 From: Keegan McAllister Date: Mon, 9 Feb 2015 14:25:47 -0800 Subject: [PATCH] Add a help message for deprecated #[plugin] extern crate --- src/librustc/plugin/load.rs | 3 +++ src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs | 1 + 2 files changed, 4 insertions(+) diff --git a/src/librustc/plugin/load.rs b/src/librustc/plugin/load.rs index 08f5486fd38..a2ce474eda8 100644 --- a/src/librustc/plugin/load.rs +++ b/src/librustc/plugin/load.rs @@ -139,6 +139,9 @@ impl<'a, 'v> Visitor<'v> for PluginLoader<'a> { } "plugin" => { self.sess.span_err(attr.span, "#[plugin] on `extern crate` is deprecated"); + self.sess.span_help(attr.span, &format!("use a crate attribute instead, \ + i.e. #![plugin({})]", + item.ident.as_str())[]); } "macro_use" => { let names = attr.meta_item_list(); diff --git a/src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs b/src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs index e27f193cbe8..ccda5cbdceb 100644 --- a/src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs +++ b/src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs @@ -9,6 +9,7 @@ // except according to those terms. #[plugin] //~ ERROR #[plugin] on `extern crate` is deprecated +//~^ HELP use a crate attribute instead, i.e. #![plugin(std)] extern crate std; fn main() {}