diff options
| author | bors <bors@rust-lang.org> | 2016-11-22 21:54:10 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-11-22 21:54:10 -0600 |
| commit | 5196ca85189291adbb488339b321026a95330c45 (patch) | |
| tree | 964d130609bc82c03bc10f440f883a3460e4adba /src/test | |
| parent | 1cabe2151299c63497abc3a20bd08c04c0cd32a3 (diff) | |
| parent | af1b19555ce636788c19dba979b57536792d90e9 (diff) | |
| download | rust-5196ca85189291adbb488339b321026a95330c45.tar.gz rust-5196ca85189291adbb488339b321026a95330c45.zip | |
Auto merge of #37681 - nrc:crate-metadata, r=@alexcrichton
add --crate-type metadata r? @alexcrichton
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/compile-fail/auxiliary/rmeta_meta.rs | 17 | ||||
| -rw-r--r-- | src/test/compile-fail/auxiliary/rmeta_rlib.rs | 15 | ||||
| -rw-r--r-- | src/test/compile-fail/rmeta-lib-pass.rs | 25 | ||||
| -rw-r--r-- | src/test/compile-fail/rmeta-pass.rs | 26 | ||||
| -rw-r--r-- | src/test/compile-fail/rmeta.rs | 19 | ||||
| -rw-r--r-- | src/test/compile-fail/rmeta_lib.rs | 23 | ||||
| -rw-r--r-- | src/test/compile-fail/rmeta_meta_main.rs | 24 | ||||
| -rw-r--r-- | src/test/run-pass/auxiliary/rmeta_rlib.rs | 18 | ||||
| -rw-r--r-- | src/test/run-pass/auxiliary/rmeta_rmeta.rs | 18 | ||||
| -rw-r--r-- | src/test/run-pass/rmeta.rs | 22 |
10 files changed, 207 insertions, 0 deletions
diff --git a/src/test/compile-fail/auxiliary/rmeta_meta.rs b/src/test/compile-fail/auxiliary/rmeta_meta.rs new file mode 100644 index 00000000000..7bd1a96f452 --- /dev/null +++ b/src/test/compile-fail/auxiliary/rmeta_meta.rs @@ -0,0 +1,17 @@ +// Copyright 2016 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. + +// no-prefer-dynamic + +#![crate_type="metadata"] + +pub struct Foo { + pub field: i32, +} diff --git a/src/test/compile-fail/auxiliary/rmeta_rlib.rs b/src/test/compile-fail/auxiliary/rmeta_rlib.rs new file mode 100644 index 00000000000..6096c4df05b --- /dev/null +++ b/src/test/compile-fail/auxiliary/rmeta_rlib.rs @@ -0,0 +1,15 @@ +// Copyright 2016 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. + +#![crate_type="rlib"] + +pub struct Foo { + pub field: i32, +} diff --git a/src/test/compile-fail/rmeta-lib-pass.rs b/src/test/compile-fail/rmeta-lib-pass.rs new file mode 100644 index 00000000000..f2ac37a2ce9 --- /dev/null +++ b/src/test/compile-fail/rmeta-lib-pass.rs @@ -0,0 +1,25 @@ +// Copyright 2016 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:rmeta_rlib.rs +// no-prefer-dynamic +// must-compile-successfully + +// Check that building a metadata crate works with a dependent, rlib crate. +// This is a cfail test since there is no executable to run. + +#![crate_type="metadata"] + +extern crate rmeta_rlib; +use rmeta_rlib::Foo; + +pub fn main() { + let _ = Foo { field: 42 }; +} diff --git a/src/test/compile-fail/rmeta-pass.rs b/src/test/compile-fail/rmeta-pass.rs new file mode 100644 index 00000000000..2c0b6f77c1e --- /dev/null +++ b/src/test/compile-fail/rmeta-pass.rs @@ -0,0 +1,26 @@ +// Copyright 2016 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:rmeta_meta.rs +// no-prefer-dynamic +// must-compile-successfully + +// Check that building a metadata crate works with a dependent, metadata-only +// crate. +// This is a cfail test since there is no executable to run. + +#![crate_type="metadata"] + +extern crate rmeta_meta; +use rmeta_meta::Foo; + +pub fn main() { + let _ = Foo { field: 42 }; +} diff --git a/src/test/compile-fail/rmeta.rs b/src/test/compile-fail/rmeta.rs new file mode 100644 index 00000000000..e81e0541096 --- /dev/null +++ b/src/test/compile-fail/rmeta.rs @@ -0,0 +1,19 @@ +// Copyright 2016 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. + +// no-prefer-dynamic + +// Check that building a metadata crate finds an error. + +#![crate_type="metadata"] + +fn main() { + let _ = Foo; //~ ERROR unresolved name `Foo` +} diff --git a/src/test/compile-fail/rmeta_lib.rs b/src/test/compile-fail/rmeta_lib.rs new file mode 100644 index 00000000000..3b7d1f3cc90 --- /dev/null +++ b/src/test/compile-fail/rmeta_lib.rs @@ -0,0 +1,23 @@ +// Copyright 2016 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:rmeta_meta.rs +// no-prefer-dynamic +// error-pattern: crate `rmeta_meta` required to be available in rlib, but it was not available + +// Check that building a non-metadata crate fails if a dependent crate is +// metadata-only. + +extern crate rmeta_meta; +use rmeta_meta::Foo; + +fn main() { + let _ = Foo { field: 42 }; +} diff --git a/src/test/compile-fail/rmeta_meta_main.rs b/src/test/compile-fail/rmeta_meta_main.rs new file mode 100644 index 00000000000..1c922c28139 --- /dev/null +++ b/src/test/compile-fail/rmeta_meta_main.rs @@ -0,0 +1,24 @@ +// Copyright 2016 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:rmeta_meta.rs +// no-prefer-dynamic + +// Check that building a metadata crate finds an error with a dependent, +// metadata-only crate. + +#![crate_type="metadata"] + +extern crate rmeta_meta; +use rmeta_meta::Foo; + +fn main() { + let _ = Foo { field2: 42 }; //~ ERROR struct `rmeta_meta::Foo` has no field named `field2` +} diff --git a/src/test/run-pass/auxiliary/rmeta_rlib.rs b/src/test/run-pass/auxiliary/rmeta_rlib.rs new file mode 100644 index 00000000000..28c11315fa1 --- /dev/null +++ b/src/test/run-pass/auxiliary/rmeta_rlib.rs @@ -0,0 +1,18 @@ +// Copyright 2016 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. + +// no-prefer-dynamic + +#![crate_type="rlib"] +#![crate_name="rmeta_aux"] + +pub struct Foo { + pub field: i32, +} diff --git a/src/test/run-pass/auxiliary/rmeta_rmeta.rs b/src/test/run-pass/auxiliary/rmeta_rmeta.rs new file mode 100644 index 00000000000..394845b66f3 --- /dev/null +++ b/src/test/run-pass/auxiliary/rmeta_rmeta.rs @@ -0,0 +1,18 @@ +// Copyright 2016 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. + +// no-prefer-dynamic + +#![crate_type="metadata"] +#![crate_name="rmeta_aux"] + +pub struct Foo { + pub field2: i32, +} diff --git a/src/test/run-pass/rmeta.rs b/src/test/run-pass/rmeta.rs new file mode 100644 index 00000000000..11684d8663a --- /dev/null +++ b/src/test/run-pass/rmeta.rs @@ -0,0 +1,22 @@ +// Copyright 2016 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. + +// Test that using rlibs and rmeta dep crates work together. Specifically, that +// there can be both an rmeta and an rlib file and rustc will prefer the rlib. + +// aux-build:rmeta_rmeta.rs +// aux-build:rmeta_rlib.rs + +extern crate rmeta_aux; +use rmeta_aux::Foo; + +pub fn main() { + let _ = Foo { field: 42 }; +} |
