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.
#[cfg(rustdoc)]
extern crate this = "rustdoc";
extern crate "rustdoc" as this;
#[cfg(rustc)]
extern crate this = "rustc";
extern crate "rustc" as this;
fn main() { this::main() }

View File

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

View File

@ -62,7 +62,7 @@ struct StandardLibraryInjector<'a> {
impl<'a> fold::Folder for StandardLibraryInjector<'a> {
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 {
Some(ref s) => token::intern_and_get_ident(s.as_slice()),
None => token::intern_and_get_ident("std"),

View File

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

View File

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

View File

@ -27,7 +27,7 @@ extern crate alloc;
extern crate libc;
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 native;

View File

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

View File

@ -129,14 +129,14 @@
extern crate alloc;
extern crate unicode;
extern crate core;
extern crate core_collections = "collections";
extern crate core_rand = "rand";
extern crate core_sync = "sync";
extern crate "collections" as core_collections;
extern crate "rand" as core_rand;
extern crate "sync" as core_sync;
extern crate libc;
extern crate rustrt;
// 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::ops;
#[cfg(test)] pub use realstd::cmp;

View File

@ -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);

View File

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

View File

@ -12,7 +12,7 @@
// 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::MaybeOwned;

View File

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

View File

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