about summary refs log tree commit diff
path: root/src/libsyntax
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-09-04 16:40:59 +0000
committerbors <bors@rust-lang.org>2014-09-04 16:40:59 +0000
commitbef51ba234a42c52939bcb0f8a5deb7c345d8eba (patch)
tree76a97dfb2ab2aa989b470a1117727072840e206b /src/libsyntax
parent4a5a9c56319fbbf47094fb97d1171a0ed8e89239 (diff)
parent2cb210d2c671582a97c75d446bf2312af362b1cc (diff)
downloadrust-bef51ba234a42c52939bcb0f8a5deb7c345d8eba.tar.gz
rust-bef51ba234a42c52939bcb0f8a5deb7c345d8eba.zip
auto merge of #16923 : wickerwaka/rust/crate-as-fixup, r=alexcrichton
Changed occurances of:
extern crate foo = "bar";
to:
extern crate "bar" as foo;

Added warning for old deprecated syntax
Diffstat (limited to 'src/libsyntax')
-rw-r--r--src/libsyntax/parse/parser.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 81ac789b683..545bf85b582 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -4773,11 +4773,16 @@ impl<'a> Parser<'a> {
             token::IDENT(..) => {
                 let the_ident = self.parse_ident();
                 self.expect_one_of(&[], &[token::EQ, token::SEMI]);
-                // NOTE - #16689 change this to a warning once
-                //        the 'as' support is in stage0
                 let path = if self.token == token::EQ {
                     self.bump();
-                    Some(self.parse_str())
+                    let path = self.parse_str();
+                    let span = self.span;
+                    self.span_warn(span,
+                            format!("this extern crate syntax is deprecated. \
+                            Use: extern create \"{}\" as {};",
+                            the_ident.as_str(), path.ref0().get() ).as_slice()
+                    );
+                    Some(path)
                 } else {None};
 
                 self.expect(&token::SEMI);