diff options
| author | bors <bors@rust-lang.org> | 2014-07-05 22:51:38 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-07-05 22:51:38 +0000 |
| commit | c3ef04be5589901e7f3d9428ebe8f1eb2bdca7e4 (patch) | |
| tree | 38550cd6dbb5daa27969c3f05b3e46c01ba4f2d0 /src/test/compile-fail | |
| parent | b8ef5cf1310a7b1e31d0993885d867a6804597ad (diff) | |
| parent | 56f71015515490b65b5fbb46ff0bbc7d7af82450 (diff) | |
| download | rust-c3ef04be5589901e7f3d9428ebe8f1eb2bdca7e4.tar.gz rust-c3ef04be5589901e7f3d9428ebe8f1eb2bdca7e4.zip | |
auto merge of #15319 : alexcrichton/rust/no-crate-id, r=brson
This is an implementation of [RFC 35](https://github.com/rust-lang/rfcs/blob/master/active/0035-remove-crate-id.md). The summary for this PR is the same as that of the RFC, with one addendum: * Removes the `#[crate_id]` attribute and knowledge of versions from rustc. * Added a `#[crate_name]` attribute similar to the old `#[crate_id]` attribute * Output filenames no longer have versions or hashes * Symbols no longer have versions (they still have hashes) * A new flag, `--extern`, is used to override searching for external crates * A new flag, `-C metadata=foo`, used when hashing symbols * [added] An old flag, `--crate-name`, was re purposed to specify the crate name from the command line. I tried to maintain backwards compatibility wherever possible (with warnings being printed). If I missed anywhere, however, please let me know! [breaking-change] Closes #14468 Closes #14469 Closes #14470 Closes #14471
Diffstat (limited to 'src/test/compile-fail')
| -rw-r--r-- | src/test/compile-fail/bad-crate-id.rs | 3 | ||||
| -rw-r--r-- | src/test/compile-fail/bad-crate-id2.rs (renamed from src/test/compile-fail/use-meta.rc) | 7 | ||||
| -rw-r--r-- | src/test/compile-fail/crateresolve2.rs | 24 | ||||
| -rw-r--r-- | src/test/compile-fail/crateresolve5.rs | 21 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-11908-1.rs | 24 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-11908-2.rs | 21 |
6 files changed, 5 insertions, 95 deletions
diff --git a/src/test/compile-fail/bad-crate-id.rs b/src/test/compile-fail/bad-crate-id.rs index 43956752cd9..883bfd035f4 100644 --- a/src/test/compile-fail/bad-crate-id.rs +++ b/src/test/compile-fail/bad-crate-id.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -extern crate foo = ""; //~ ERROR: malformed crate id -extern crate bar = "#a"; //~ ERROR: malformed crate id +extern crate foo = ""; //~ ERROR: crate name must not be empty fn main() {} diff --git a/src/test/compile-fail/use-meta.rc b/src/test/compile-fail/bad-crate-id2.rs index 9cb84c5400a..22e98b61c61 100644 --- a/src/test/compile-fail/use-meta.rc +++ b/src/test/compile-fail/bad-crate-id2.rs @@ -1,4 +1,4 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT +// Copyright 2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // @@ -8,6 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// error-pattern:can't find crate for `std` +extern crate bar = "#a"; //~ ERROR: invalid character `#` in crate name: `#a` + +fn main() {} -extern crate std = "std#bogus"; diff --git a/src/test/compile-fail/crateresolve2.rs b/src/test/compile-fail/crateresolve2.rs deleted file mode 100644 index c5e9d128152..00000000000 --- a/src/test/compile-fail/crateresolve2.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2012 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. - -// aux-build:crateresolve2-1.rs -// aux-build:crateresolve2-2.rs -// aux-build:crateresolve2-3.rs -// error-pattern:using multiple versions of crate `crateresolve2` - -extern crate crateresolve2 = "crateresolve2#0.1"; - -mod m { - pub extern crate crateresolve2 = "crateresolve2#0.2"; -} - -fn main() { - let x: int = false; -} diff --git a/src/test/compile-fail/crateresolve5.rs b/src/test/compile-fail/crateresolve5.rs deleted file mode 100644 index 8b4801466b9..00000000000 --- a/src/test/compile-fail/crateresolve5.rs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2012-2014 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. - -// aux-build:crateresolve5-1.rs -// aux-build:crateresolve5-2.rs - -extern crate cr5_1 = "crateresolve5#0.1"; -extern crate cr5_2 = "crateresolve5#0.2"; - - -fn main() { - // Nominal types from two multiple versions of a crate are different types - assert!(cr5_1::nominal() == cr5_2::nominal()); //~ ERROR mismatched types: expected -} diff --git a/src/test/compile-fail/issue-11908-1.rs b/src/test/compile-fail/issue-11908-1.rs deleted file mode 100644 index dbedf355a56..00000000000 --- a/src/test/compile-fail/issue-11908-1.rs +++ /dev/null @@ -1,24 +0,0 @@ -// Copyright 2014 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. - -// aux-build:issue-11908-1.rs -// ignore-android this test is incompatible with the android test runner -// error-pattern: multiple dylib candidates for `url` found - -// This test ensures that if you have the same rlib or dylib at two locations -// in the same path that you don't hit an assertion in the compiler. -// -// Note that this relies on `liburl` to be in the path somewhere else, -// and then our aux-built libraries will collide with liburl (they have -// the same version listed) - -extern crate url; - -fn main() {} diff --git a/src/test/compile-fail/issue-11908-2.rs b/src/test/compile-fail/issue-11908-2.rs deleted file mode 100644 index 8b916aad653..00000000000 --- a/src/test/compile-fail/issue-11908-2.rs +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright 2014 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. - -// aux-build:issue-11908-2.rs -// no-prefer-dynamic -// ignore-android this test is incompatible with the android test runner -// error-pattern: multiple rlib candidates for `url` found - -// see comments in issue-11908-1 for what's going on here - -extern crate url; - -fn main() {} - |
