Updated to new extern crate syntax.

Added warning for old deprecated syntax
This commit is contained in:
wickerwaka 2014-09-01 08:59:23 -07:00
parent b42e079c6f
commit 2cb210d2c6
13 changed files with 25 additions and 20 deletions

View File

@ -9,9 +9,9 @@
// except according to those terms. // except according to those terms.
#[cfg(rustdoc)] #[cfg(rustdoc)]
extern crate this = "rustdoc"; extern crate "rustdoc" as this;
#[cfg(rustc)] #[cfg(rustc)]
extern crate this = "rustc"; extern crate "rustc" as this;
fn main() { this::main() } fn main() { this::main() }

View File

@ -372,7 +372,7 @@
#![deny(missing_doc)] #![deny(missing_doc)]
#[cfg(test)] #[cfg(test)]
extern crate stdtest = "test"; extern crate "test" as stdtest;
#[cfg(test)] #[cfg(test)]
extern crate rand; extern crate rand;

View File

@ -62,7 +62,7 @@ struct StandardLibraryInjector<'a> {
impl<'a> fold::Folder for StandardLibraryInjector<'a> { impl<'a> fold::Folder for StandardLibraryInjector<'a> {
fn fold_crate(&mut self, mut krate: ast::Crate) -> ast::Crate { fn fold_crate(&mut self, mut krate: ast::Crate) -> ast::Crate {
// The name to use in `extern crate std = "name";` // The name to use in `extern crate "name" as std;`
let actual_crate_name = match self.sess.opts.alt_std_name { let actual_crate_name = match self.sess.opts.alt_std_name {
Some(ref s) => token::intern_and_get_ident(s.as_slice()), Some(ref s) => token::intern_and_get_ident(s.as_slice()),
None => token::intern_and_get_ident("std"), None => token::intern_and_get_ident("std"),

View File

@ -42,8 +42,8 @@ extern crate flate;
extern crate getopts; extern crate getopts;
extern crate graphviz; extern crate graphviz;
extern crate libc; extern crate libc;
extern crate llvm = "rustc_llvm"; extern crate "rustc_llvm" as llvm;
extern crate rustc_back = "rustc_back"; extern crate "rustc_back" as rustc_back;
extern crate serialize; extern crate serialize;
extern crate rbml; extern crate rbml;
extern crate time; extern crate time;

View File

@ -23,7 +23,7 @@ extern crate libc;
extern crate rustc; extern crate rustc;
extern crate serialize; extern crate serialize;
extern crate syntax; extern crate syntax;
extern crate testing = "test"; extern crate "test" as testing;
extern crate time; extern crate time;
#[phase(plugin, link)] extern crate log; #[phase(plugin, link)] extern crate log;

View File

@ -27,7 +27,7 @@ extern crate alloc;
extern crate libc; extern crate libc;
extern crate collections; extern crate collections;
#[cfg(test)] extern crate realrustrt = "rustrt"; #[cfg(test)] extern crate "rustrt" as realrustrt;
#[cfg(test)] extern crate test; #[cfg(test)] extern crate test;
#[cfg(test)] extern crate native; #[cfg(test)] extern crate native;

View File

@ -52,7 +52,7 @@ via `close` and `delete` methods.
#[cfg(test)] extern crate green; #[cfg(test)] extern crate green;
#[cfg(test)] extern crate debug; #[cfg(test)] extern crate debug;
#[cfg(test)] extern crate realrustuv = "rustuv"; #[cfg(test)] extern crate "rustuv" as realrustuv;
extern crate libc; extern crate libc;
extern crate alloc; extern crate alloc;

View File

@ -129,14 +129,14 @@
extern crate alloc; extern crate alloc;
extern crate unicode; extern crate unicode;
extern crate core; extern crate core;
extern crate core_collections = "collections"; extern crate "collections" as core_collections;
extern crate core_rand = "rand"; extern crate "rand" as core_rand;
extern crate core_sync = "sync"; extern crate "sync" as core_sync;
extern crate libc; extern crate libc;
extern crate rustrt; extern crate rustrt;
// Make std testable by not duplicating lang items. See #2912 // Make std testable by not duplicating lang items. See #2912
#[cfg(test)] extern crate realstd = "std"; #[cfg(test)] extern crate "std" as realstd;
#[cfg(test)] pub use realstd::kinds; #[cfg(test)] pub use realstd::kinds;
#[cfg(test)] pub use realstd::ops; #[cfg(test)] pub use realstd::ops;
#[cfg(test)] pub use realstd::cmp; #[cfg(test)] pub use realstd::cmp;

View File

@ -4773,11 +4773,16 @@ impl<'a> Parser<'a> {
token::IDENT(..) => { token::IDENT(..) => {
let the_ident = self.parse_ident(); let the_ident = self.parse_ident();
self.expect_one_of(&[], &[token::EQ, token::SEMI]); 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 { let path = if self.token == token::EQ {
self.bump(); 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}; } else {None};
self.expect(&token::SEMI); self.expect(&token::SEMI);

View File

@ -10,7 +10,7 @@
// aux-build:issue-16725.rs // aux-build:issue-16725.rs
extern crate foo = "issue-16725"; extern crate "issue-16725" as foo;
fn main() { fn main() {
unsafe { foo::bar(); } unsafe { foo::bar(); }

View File

@ -12,7 +12,7 @@
// Check explicit region bounds on methods in the cross crate case. // Check explicit region bounds on methods in the cross crate case.
extern crate lib = "regions-bounded-method-type-parameters-cross-crate-lib"; extern crate "regions-bounded-method-type-parameters-cross-crate-lib" as lib;
use lib::Inv; use lib::Inv;
use lib::MaybeOwned; use lib::MaybeOwned;

View File

@ -10,7 +10,7 @@
// aux-build:issue-15562.rs // aux-build:issue-15562.rs
extern crate i = "issue-15562"; extern crate "issue-15562" as i;
pub fn main() { pub fn main() {
extern { extern {

View File

@ -10,7 +10,7 @@
// aux-build:issue-16643.rs // aux-build:issue-16643.rs
extern crate i = "issue-16643"; extern crate "issue-16643" as i;
pub fn main() { pub fn main() {
i::TreeBuilder::<uint>.process_token(); i::TreeBuilder::<uint>.process_token();