| // This test checks that extern crate declarations in Cargo without a corresponding declaration |
| // in the manifest of a dependency are NOT allowed. The last rustc call does it anyways, which |
| // should result in a compilation failure. |
| // See https://github.com/rust-lang/rust/pull/21113 |
| |
| use run_make_support::{path, rfs, rust_lib_name, rustc}; |
| |
| fn main() { |
| rfs::create_dir("a"); |
| rfs::create_dir("b"); |
| rustc().input("a.rs").run(); |
| rfs::rename(rust_lib_name("a"), path("a").join(rust_lib_name("a"))); |
| rustc().input("b.rs").library_search_path("a").run(); |
| rfs::rename(rust_lib_name("b"), path("b").join(rust_lib_name("b"))); |
| rustc() |
| .input("c.rs") |
| .library_search_path("crate=b") |
| .library_search_path("dependency=a") |
| .run_fail(); |
| } |