about summary refs log tree commit diff
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2014-09-06 11:54:11 -0700
committerPatrick Walton <pcwalton@mimiga.net>2014-09-09 19:24:06 -0700
commit1bce8698cdeb274f33ecbfbcbb014367eb1ddfd0 (patch)
tree22270ebc8f88991655f5fa00bca3daaac16e6fc7
parenta1f49730906ca27947cd99547f7295a1bcf83920 (diff)
downloadrust-1bce8698cdeb274f33ecbfbcbb014367eb1ddfd0.tar.gz
rust-1bce8698cdeb274f33ecbfbcbb014367eb1ddfd0.zip
librustc: Obsolete the old external crate renaming syntax.
Instead of `extern crate foo = bar`, write `extern crate bar as foo`.
Instead of `extern crate baz = "quux"`, write `extern crate "quux" as
baz`.

Closes #16461.

[breaking-change]
-rw-r--r--src/librustc/lib.rs6
-rw-r--r--src/libsyntax/parse/obsolete.rs5
-rw-r--r--src/libsyntax/parse/parser.rs6
3 files changed, 10 insertions, 7 deletions
diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs
index 75a48fdd596..ce262bf449a 100644
--- a/src/librustc/lib.rs
+++ b/src/librustc/lib.rs
@@ -42,8 +42,8 @@ extern crate flate;
 extern crate getopts;
 extern crate graphviz;
 extern crate libc;
-extern crate "rustc_llvm" as llvm;
-extern crate "rustc_back" as rustc_back;
+extern crate rustc_llvm;
+extern crate rustc_back;
 extern crate serialize;
 extern crate rbml;
 extern crate time;
@@ -53,6 +53,8 @@ extern crate time;
 #[cfg(test)]
 extern crate test;
 
+pub use rustc_llvm as llvm;
+
 mod diagnostics;
 
 pub mod back {
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs
index ec6fd013d08..9ed9e626c3d 100644
--- a/src/libsyntax/parse/obsolete.rs
+++ b/src/libsyntax/parse/obsolete.rs
@@ -36,6 +36,7 @@ pub enum ObsoleteSyntax {
     ObsoleteManagedExpr,
     ObsoleteImportRenaming,
     ObsoleteSubsliceMatch,
+    ObsoleteExternCrateRenaming,
 }
 
 pub trait ParserObsoleteMethods {
@@ -92,6 +93,10 @@ impl<'a> ParserObsoleteMethods for parser::Parser<'a> {
             ObsoleteSubsliceMatch => (
                 "subslice match syntax",
                 "instead of `..xs`, write `xs..` in a pattern"
+            ),
+            ObsoleteExternCrateRenaming => (
+                "`extern crate foo = bar` syntax",
+                "write `extern crate bar as foo` instead"
             )
         };
 
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 6aff1152f7e..073e88bc4a1 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -4783,11 +4783,7 @@ impl<'a> Parser<'a> {
                     self.bump();
                     let path = self.parse_str();
                     let span = self.span;
-                    self.span_warn(span,
-                            format!("this extern crate syntax is deprecated. \
-                            Use: extern crate \"{}\" as {};",
-                            path.ref0().get(), the_ident.as_str() ).as_slice()
-                    );
+                    self.obsolete(span, ObsoleteExternCrateRenaming);
                     Some(path)
                 } else {None};