| // Almost identical to `extern-multiple-copies`, but with a variation in the --extern calls |
| // and the addition of #[macro_use] in the rust code files, which used to break --extern |
| // until #33625. |
| // In this test, the rust library foo1 exists in two different locations, but only one |
| // is required by the --extern flag. This test checks that the copy is ignored (as --extern |
| // demands fetching only the original instance of foo1) and that no error is emitted, resulting |
| // in successful compilation. |
| // https://github.com/rust-lang/rust/issues/33762 |
| |
| use run_make_support::{path, rfs, rust_lib_name, rustc}; |
| |
| fn main() { |
| rustc().input("foo1.rs").run(); |
| rustc().input("foo2.rs").run(); |
| rfs::create_dir("foo"); |
| rfs::copy(rust_lib_name("foo1"), path("foo").join(rust_lib_name("foo1"))); |
| rustc() |
| .input("bar.rs") |
| .extern_("foo1", path("foo").join(rust_lib_name("foo1"))) |
| .extern_("foo2", rust_lib_name("foo2")) |
| .run(); |
| } |