about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorKeegan McAllister <kmcallister@mozilla.com>2015-02-06 13:56:38 -0800
committerKeegan McAllister <kmcallister@mozilla.com>2015-02-09 13:27:27 -0800
commit93b642d9743edea728ef08b2d6fd17229caaad43 (patch)
treeb88ec4e6fac283b95735e7c34dac6760e53a2874 /src/test
parent0ba9e1fa52627404a1e5b90f745f96a872a0c564 (diff)
Use a crate attribute to load plugins
    #[plugin] #[no_link] extern crate bleh;

becomes a crate attribute

    #![plugin(bleh)]

The feature gate is still required.

It's almost never correct to link a plugin into the resulting library /
executable, because it will bring all of libsyntax and librustc with it.
However if you really want this behavior, you can get it with a separate
`extern crate` item in addition to the `plugin` attribute.

Fixes #21043.
Fixes #20769.

[breaking-change]
Diffstat (limited to 'src/test')
-rw-r--r--src/test/auxiliary/plugin_args.rs9
-rw-r--r--src/test/auxiliary/syntax_extension_with_dll_deps_1.rs (renamed from src/test/auxiliary/syntax-extension-with-dll-deps-1.rs)0
-rw-r--r--src/test/auxiliary/syntax_extension_with_dll_deps_2.rs (renamed from src/test/auxiliary/syntax-extension-with-dll-deps-2.rs)2
-rw-r--r--src/test/compile-fail-fulldeps/gated-plugin.rs2
-rw-r--r--src/test/compile-fail-fulldeps/lint-group-plugin-deny-cmdline.rs4
-rw-r--r--src/test/compile-fail-fulldeps/lint-plugin-deny-attr.rs4
-rw-r--r--src/test/compile-fail-fulldeps/lint-plugin-deny-cmdline.rs4
-rw-r--r--src/test/compile-fail-fulldeps/lint-plugin-forbid-attrs.rs4
-rw-r--r--src/test/compile-fail-fulldeps/lint-plugin-forbid-cmdline.rs4
-rw-r--r--src/test/compile-fail-fulldeps/macro-crate-cannot-read-embedded-ident.rs4
-rw-r--r--src/test/compile-fail-fulldeps/macro-crate-rlib.rs2
-rw-r--r--src/test/compile-fail-fulldeps/plugin-MacroRulesTT.rs4
-rw-r--r--src/test/compile-fail/malformed-plugin-1.rs (renamed from src/test/run-pass-fulldeps/plugin-args-4.rs)13
-rw-r--r--src/test/compile-fail/malformed-plugin-2.rs13
-rw-r--r--src/test/compile-fail/malformed-plugin-3.rs13
-rw-r--r--src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs (renamed from src/test/compile-fail/multi-plugin-attr.rs)3
-rw-r--r--src/test/run-pass-fulldeps/issue_16723_multiple_items_syntax_ext.rs3
-rw-r--r--src/test/run-pass-fulldeps/lint-group-plugin.rs4
-rw-r--r--src/test/run-pass-fulldeps/lint-plugin-cmdline-allow.rs4
-rw-r--r--src/test/run-pass-fulldeps/lint-plugin.rs4
-rw-r--r--src/test/run-pass-fulldeps/macro-crate-does-hygiene-work.rs4
-rw-r--r--src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs4
-rw-r--r--src/test/run-pass-fulldeps/macro-crate.rs3
-rw-r--r--src/test/run-pass-fulldeps/plugin-args-1.rs7
-rw-r--r--src/test/run-pass-fulldeps/plugin-args-2.rs7
-rw-r--r--src/test/run-pass-fulldeps/plugin-args-3.rs7
-rw-r--r--src/test/run-pass-fulldeps/plugin-plus-extern-crate.rs (renamed from src/test/run-pass-fulldeps/plugin-link-does-resolve.rs)4
-rw-r--r--src/test/run-pass-fulldeps/roman-numerals-macro.rs4
-rw-r--r--src/test/run-pass-fulldeps/syntax-extension-with-dll-deps.rs8
29 files changed, 63 insertions, 85 deletions
diff --git a/src/test/auxiliary/plugin_args.rs b/src/test/auxiliary/plugin_args.rs
index 6779cf997c1..907d80b50db 100644
--- a/src/test/auxiliary/plugin_args.rs
+++ b/src/test/auxiliary/plugin_args.rs
@@ -27,7 +27,7 @@ use syntax::ptr::P;
 use rustc::plugin::Registry;
 
 struct Expander {
-    args: P<ast::MetaItem>,
+    args: Vec<P<ast::MetaItem>>,
 }
 
 impl TTMacroExpander for Expander {
@@ -35,10 +35,9 @@ impl TTMacroExpander for Expander {
                    ecx: &'cx mut ExtCtxt,
                    sp: Span,
                    _: &[ast::TokenTree]) -> Box<MacResult+'cx> {
-
-        let attr = ecx.attribute(sp, self.args.clone());
-        let src = pprust::attribute_to_string(&attr);
-        let interned = token::intern_and_get_ident(&src);
+        let args = self.args.iter().map(|i| pprust::meta_item_to_string(&*i))
+            .collect::<Vec<_>>().connect(", ");
+        let interned = token::intern_and_get_ident(&args[]);
         MacExpr::new(ecx.expr_str(sp, interned))
     }
 }
diff --git a/src/test/auxiliary/syntax-extension-with-dll-deps-1.rs b/src/test/auxiliary/syntax_extension_with_dll_deps_1.rs
index 338e04fbb07..338e04fbb07 100644
--- a/src/test/auxiliary/syntax-extension-with-dll-deps-1.rs
+++ b/src/test/auxiliary/syntax_extension_with_dll_deps_1.rs
diff --git a/src/test/auxiliary/syntax-extension-with-dll-deps-2.rs b/src/test/auxiliary/syntax_extension_with_dll_deps_2.rs
index 5ad1d244c92..7a24dd76f32 100644
--- a/src/test/auxiliary/syntax-extension-with-dll-deps-2.rs
+++ b/src/test/auxiliary/syntax_extension_with_dll_deps_2.rs
@@ -13,7 +13,7 @@
 #![crate_type = "dylib"]
 #![feature(plugin_registrar, quote)]
 
-extern crate "syntax-extension-with-dll-deps-1" as other;
+extern crate "syntax_extension_with_dll_deps_1" as other;
 extern crate syntax;
 extern crate rustc;
 
diff --git a/src/test/compile-fail-fulldeps/gated-plugin.rs b/src/test/compile-fail-fulldeps/gated-plugin.rs
index be9e57e2d19..9fa93063ea3 100644
--- a/src/test/compile-fail-fulldeps/gated-plugin.rs
+++ b/src/test/compile-fail-fulldeps/gated-plugin.rs
@@ -11,7 +11,7 @@
 // aux-build:macro_crate_test.rs
 // ignore-stage1
 
-#[plugin] #[no_link] extern crate macro_crate_test;
+#![plugin(macro_crate_test)]
 //~^ ERROR compiler plugins are experimental and possibly buggy
 
 fn main() {}
diff --git a/src/test/compile-fail-fulldeps/lint-group-plugin-deny-cmdline.rs b/src/test/compile-fail-fulldeps/lint-group-plugin-deny-cmdline.rs
index 11ae5563959..a523799278c 100644
--- a/src/test/compile-fail-fulldeps/lint-group-plugin-deny-cmdline.rs
+++ b/src/test/compile-fail-fulldeps/lint-group-plugin-deny-cmdline.rs
@@ -13,9 +13,7 @@
 // compile-flags: -D lint-me
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate lint_group_plugin_test;
+#![plugin(lint_group_plugin_test)]
 
 fn lintme() { } //~ ERROR item is named 'lintme'
 
diff --git a/src/test/compile-fail-fulldeps/lint-plugin-deny-attr.rs b/src/test/compile-fail-fulldeps/lint-plugin-deny-attr.rs
index 62007d6575a..e3dbdc331a7 100644
--- a/src/test/compile-fail-fulldeps/lint-plugin-deny-attr.rs
+++ b/src/test/compile-fail-fulldeps/lint-plugin-deny-attr.rs
@@ -12,11 +12,9 @@
 // ignore-stage1
 
 #![feature(plugin)]
+#![plugin(lint_plugin_test)]
 #![deny(test_lint)]
 
-#[plugin] #[no_link]
-extern crate lint_plugin_test;
-
 fn lintme() { } //~ ERROR item is named 'lintme'
 
 pub fn main() {
diff --git a/src/test/compile-fail-fulldeps/lint-plugin-deny-cmdline.rs b/src/test/compile-fail-fulldeps/lint-plugin-deny-cmdline.rs
index da51c047f57..41d25becd84 100644
--- a/src/test/compile-fail-fulldeps/lint-plugin-deny-cmdline.rs
+++ b/src/test/compile-fail-fulldeps/lint-plugin-deny-cmdline.rs
@@ -13,9 +13,7 @@
 // compile-flags: -D test-lint
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate lint_plugin_test;
+#![plugin(lint_plugin_test)]
 
 fn lintme() { } //~ ERROR item is named 'lintme'
 
diff --git a/src/test/compile-fail-fulldeps/lint-plugin-forbid-attrs.rs b/src/test/compile-fail-fulldeps/lint-plugin-forbid-attrs.rs
index cf51958b53d..83c845bfdf9 100644
--- a/src/test/compile-fail-fulldeps/lint-plugin-forbid-attrs.rs
+++ b/src/test/compile-fail-fulldeps/lint-plugin-forbid-attrs.rs
@@ -12,11 +12,9 @@
 // ignore-stage1
 
 #![feature(plugin)]
+#![plugin(lint_plugin_test)]
 #![forbid(test_lint)]
 
-#[plugin] #[no_link]
-extern crate lint_plugin_test;
-
 fn lintme() { } //~ ERROR item is named 'lintme'
 
 #[allow(test_lint)] //~ ERROR allow(test_lint) overruled by outer forbid(test_lint)
diff --git a/src/test/compile-fail-fulldeps/lint-plugin-forbid-cmdline.rs b/src/test/compile-fail-fulldeps/lint-plugin-forbid-cmdline.rs
index 9a36143f65c..155294f8026 100644
--- a/src/test/compile-fail-fulldeps/lint-plugin-forbid-cmdline.rs
+++ b/src/test/compile-fail-fulldeps/lint-plugin-forbid-cmdline.rs
@@ -13,9 +13,7 @@
 // compile-flags: -F test-lint
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate lint_plugin_test;
+#![plugin(lint_plugin_test)]
 
 fn lintme() { } //~ ERROR item is named 'lintme'
 
diff --git a/src/test/compile-fail-fulldeps/macro-crate-cannot-read-embedded-ident.rs b/src/test/compile-fail-fulldeps/macro-crate-cannot-read-embedded-ident.rs
index 2e727f19635..c9ca6e5326c 100644
--- a/src/test/compile-fail-fulldeps/macro-crate-cannot-read-embedded-ident.rs
+++ b/src/test/compile-fail-fulldeps/macro-crate-cannot-read-embedded-ident.rs
@@ -21,9 +21,7 @@
 // ident form.
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate macro_crate_test;
+#![plugin(macro_crate_test)]
 
 fn main() {
     let x = 0;
diff --git a/src/test/compile-fail-fulldeps/macro-crate-rlib.rs b/src/test/compile-fail-fulldeps/macro-crate-rlib.rs
index 1f44ac7cf9c..7d38d4352b0 100644
--- a/src/test/compile-fail-fulldeps/macro-crate-rlib.rs
+++ b/src/test/compile-fail-fulldeps/macro-crate-rlib.rs
@@ -15,7 +15,7 @@
 // ignore-cross-compile gives a different error message
 
 #![feature(plugin)]
-#[plugin] #[no_link] extern crate rlib_crate_test;
+#![plugin(rlib_crate_test)]
 //~^ ERROR: plugin crate `rlib_crate_test` only found in rlib format, but must be available in dylib format
 
 fn main() {}
diff --git a/src/test/compile-fail-fulldeps/plugin-MacroRulesTT.rs b/src/test/compile-fail-fulldeps/plugin-MacroRulesTT.rs
index cff2e5eaf87..68b27822d3d 100644
--- a/src/test/compile-fail-fulldeps/plugin-MacroRulesTT.rs
+++ b/src/test/compile-fail-fulldeps/plugin-MacroRulesTT.rs
@@ -14,8 +14,6 @@
 // error-pattern: plugin tried to register a new MacroRulesTT
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate macro_crate_MacroRulesTT;
+#![plugin(macro_crate_MacroRulesTT)]
 
 fn main() { }
diff --git a/src/test/run-pass-fulldeps/plugin-args-4.rs b/src/test/compile-fail/malformed-plugin-1.rs
index 8563c8c178f..254a797ef1c 100644
--- a/src/test/run-pass-fulldeps/plugin-args-4.rs
+++ b/src/test/compile-fail/malformed-plugin-1.rs
@@ -8,15 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// aux-build:plugin_args.rs
-// ignore-stage1
+#![plugin] //~ ERROR malformed plugin attribute
 
-#![feature(plugin)]
-
-#[no_link]
-#[plugin="foobar"]
-extern crate plugin_args;
-
-fn main() {
-    assert_eq!(plugin_args!(), "#[plugin = \"foobar\"]");
-}
+fn main() {}
diff --git a/src/test/compile-fail/malformed-plugin-2.rs b/src/test/compile-fail/malformed-plugin-2.rs
new file mode 100644
index 00000000000..884087b7bc5
--- /dev/null
+++ b/src/test/compile-fail/malformed-plugin-2.rs
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![plugin="bleh"] //~ ERROR malformed plugin attribute
+
+fn main() {}
diff --git a/src/test/compile-fail/malformed-plugin-3.rs b/src/test/compile-fail/malformed-plugin-3.rs
new file mode 100644
index 00000000000..4885bb901df
--- /dev/null
+++ b/src/test/compile-fail/malformed-plugin-3.rs
@@ -0,0 +1,13 @@
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+#![plugin(foo="bleh")] //~ ERROR malformed plugin attribute
+
+fn main() {}
diff --git a/src/test/compile-fail/multi-plugin-attr.rs b/src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs
index 1d98cd26a38..e27f193cbe8 100644
--- a/src/test/compile-fail/multi-plugin-attr.rs
+++ b/src/test/compile-fail/plugin-extern-crate-attr-deprecated.rs
@@ -8,8 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#[plugin]
-#[plugin]  //~ ERROR #[plugin] specified multiple times
+#[plugin]  //~ ERROR #[plugin] on `extern crate` is deprecated
 extern crate std;
 
 fn main() {}
diff --git a/src/test/run-pass-fulldeps/issue_16723_multiple_items_syntax_ext.rs b/src/test/run-pass-fulldeps/issue_16723_multiple_items_syntax_ext.rs
index 11e7da77029..c59a3589c04 100644
--- a/src/test/run-pass-fulldeps/issue_16723_multiple_items_syntax_ext.rs
+++ b/src/test/run-pass-fulldeps/issue_16723_multiple_items_syntax_ext.rs
@@ -12,8 +12,7 @@
 // ignore-android
 // aux-build:issue_16723_multiple_items_syntax_ext.rs
 #![feature(plugin)]
-
-#[plugin] #[no_link] extern crate issue_16723_multiple_items_syntax_ext;
+#![plugin(issue_16723_multiple_items_syntax_ext)]
 
 multiple_items!();
 
diff --git a/src/test/run-pass-fulldeps/lint-group-plugin.rs b/src/test/run-pass-fulldeps/lint-group-plugin.rs
index 7615b25f9e4..1a639cdb9dd 100644
--- a/src/test/run-pass-fulldeps/lint-group-plugin.rs
+++ b/src/test/run-pass-fulldeps/lint-group-plugin.rs
@@ -13,9 +13,7 @@
 // ignore-pretty
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate lint_group_plugin_test;
+#![plugin(lint_group_plugin_test)]
 
 fn lintme() { } //~ WARNING item is named 'lintme'
 fn pleaselintme() { } //~ WARNING item is named 'pleaselintme'
diff --git a/src/test/run-pass-fulldeps/lint-plugin-cmdline-allow.rs b/src/test/run-pass-fulldeps/lint-plugin-cmdline-allow.rs
index 7144d2b0f1e..204312064b5 100644
--- a/src/test/run-pass-fulldeps/lint-plugin-cmdline-allow.rs
+++ b/src/test/run-pass-fulldeps/lint-plugin-cmdline-allow.rs
@@ -13,9 +13,7 @@
 // compile-flags: -A test-lint
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate lint_plugin_test;
+#![plugin(lint_plugin_test)]
 
 fn lintme() { }
 
diff --git a/src/test/run-pass-fulldeps/lint-plugin.rs b/src/test/run-pass-fulldeps/lint-plugin.rs
index d11242f4fe6..8311e188f92 100644
--- a/src/test/run-pass-fulldeps/lint-plugin.rs
+++ b/src/test/run-pass-fulldeps/lint-plugin.rs
@@ -13,9 +13,7 @@
 // ignore-pretty
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate lint_plugin_test;
+#![plugin(lint_plugin_test)]
 
 fn lintme() { } //~ WARNING item is named 'lintme'
 
diff --git a/src/test/run-pass-fulldeps/macro-crate-does-hygiene-work.rs b/src/test/run-pass-fulldeps/macro-crate-does-hygiene-work.rs
index 497afae6189..8ed47fe1f6f 100644
--- a/src/test/run-pass-fulldeps/macro-crate-does-hygiene-work.rs
+++ b/src/test/run-pass-fulldeps/macro-crate-does-hygiene-work.rs
@@ -15,9 +15,7 @@
 // uses `quote_expr!` to rearrange it should be hygiene-preserving.
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate macro_crate_test;
+#![plugin(macro_crate_test)]
 
 fn main() {
     let x = 3;
diff --git a/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs b/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs
index d943cf0457b..9573d0c8c40 100644
--- a/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs
+++ b/src/test/run-pass-fulldeps/macro-crate-outlive-expansion-phase.rs
@@ -12,8 +12,6 @@
 // ignore-stage1
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate plugin_crate_outlive_expansion_phase;
+#![plugin(plugin_crate_outlive_expansion_phase)]
 
 pub fn main() {}
diff --git a/src/test/run-pass-fulldeps/macro-crate.rs b/src/test/run-pass-fulldeps/macro-crate.rs
index a9e93aa8df5..58ccd79b712 100644
--- a/src/test/run-pass-fulldeps/macro-crate.rs
+++ b/src/test/run-pass-fulldeps/macro-crate.rs
@@ -12,8 +12,9 @@
 // ignore-stage1
 
 #![feature(plugin)]
+#![plugin(macro_crate_test)]
 
-#[macro_use] #[plugin] #[no_link]
+#[macro_use] #[no_link]
 extern crate macro_crate_test;
 
 #[into_foo]
diff --git a/src/test/run-pass-fulldeps/plugin-args-1.rs b/src/test/run-pass-fulldeps/plugin-args-1.rs
index 5a91f603f96..4d4f9092bc8 100644
--- a/src/test/run-pass-fulldeps/plugin-args-1.rs
+++ b/src/test/run-pass-fulldeps/plugin-args-1.rs
@@ -12,11 +12,8 @@
 // ignore-stage1
 
 #![feature(plugin)]
-
-#[no_link]
-#[plugin]
-extern crate plugin_args;
+#![plugin(plugin_args)]
 
 fn main() {
-    assert_eq!(plugin_args!(), "#[plugin]");
+    assert_eq!(plugin_args!(), "");
 }
diff --git a/src/test/run-pass-fulldeps/plugin-args-2.rs b/src/test/run-pass-fulldeps/plugin-args-2.rs
index d0ac22a5290..4da566aec42 100644
--- a/src/test/run-pass-fulldeps/plugin-args-2.rs
+++ b/src/test/run-pass-fulldeps/plugin-args-2.rs
@@ -12,11 +12,8 @@
 // ignore-stage1
 
 #![feature(plugin)]
-
-#[no_link]
-#[plugin()]
-extern crate plugin_args;
+#![plugin(plugin_args())]
 
 fn main() {
-    assert_eq!(plugin_args!(), "#[plugin()]");
+    assert_eq!(plugin_args!(), "");
 }
diff --git a/src/test/run-pass-fulldeps/plugin-args-3.rs b/src/test/run-pass-fulldeps/plugin-args-3.rs
index 7cac8ac57e5..0a064933aec 100644
--- a/src/test/run-pass-fulldeps/plugin-args-3.rs
+++ b/src/test/run-pass-fulldeps/plugin-args-3.rs
@@ -12,11 +12,8 @@
 // ignore-stage1
 
 #![feature(plugin)]
-
-#[no_link]
-#[plugin(hello(there), how(are="you"))]
-extern crate plugin_args;
+#![plugin(plugin_args(hello(there), how(are="you")))]
 
 fn main() {
-    assert_eq!(plugin_args!(), "#[plugin(hello(there), how(are = \"you\"))]");
+    assert_eq!(plugin_args!(), "hello(there), how(are = \"you\")");
 }
diff --git a/src/test/run-pass-fulldeps/plugin-link-does-resolve.rs b/src/test/run-pass-fulldeps/plugin-plus-extern-crate.rs
index 518d02e3d75..0c27dba9c62 100644
--- a/src/test/run-pass-fulldeps/plugin-link-does-resolve.rs
+++ b/src/test/run-pass-fulldeps/plugin-plus-extern-crate.rs
@@ -1,4 +1,4 @@
-// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
+// Copyright 2013-2015 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
 // http://rust-lang.org/COPYRIGHT.
 //
@@ -16,8 +16,8 @@
 // libsyntax is not compiled for it.
 
 #![feature(plugin)]
+#![plugin(macro_crate_test)]
 
-#[plugin]
 extern crate macro_crate_test;
 
 fn main() {
diff --git a/src/test/run-pass-fulldeps/roman-numerals-macro.rs b/src/test/run-pass-fulldeps/roman-numerals-macro.rs
index d76766094ed..81f5c649626 100644
--- a/src/test/run-pass-fulldeps/roman-numerals-macro.rs
+++ b/src/test/run-pass-fulldeps/roman-numerals-macro.rs
@@ -12,9 +12,7 @@
 // ignore-stage1
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate roman_numerals;
+#![plugin(roman_numerals)]
 
 pub fn main() {
     assert_eq!(rn!(MMXV), 2015);
diff --git a/src/test/run-pass-fulldeps/syntax-extension-with-dll-deps.rs b/src/test/run-pass-fulldeps/syntax-extension-with-dll-deps.rs
index 1c74c8ad08e..b7570eb0926 100644
--- a/src/test/run-pass-fulldeps/syntax-extension-with-dll-deps.rs
+++ b/src/test/run-pass-fulldeps/syntax-extension-with-dll-deps.rs
@@ -8,14 +8,12 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-// aux-build:syntax-extension-with-dll-deps-1.rs
-// aux-build:syntax-extension-with-dll-deps-2.rs
+// aux-build:syntax_extension_with_dll_deps_1.rs
+// aux-build:syntax_extension_with_dll_deps_2.rs
 // ignore-stage1
 
 #![feature(plugin)]
-
-#[plugin] #[no_link]
-extern crate "syntax-extension-with-dll-deps-2" as extension;
+#![plugin(syntax_extension_with_dll_deps_2)]
 
 fn main() {
     foo!();