| //@ needs-target-std | |
| // | |
| // A simple smoke test to check that rustc fails compilation | |
| // and outputs a helpful message when a dependency is missing | |
| // in a dependency chain. | |
| // See https://github.com/rust-lang/rust/issues/12146 | |
| use run_make_support::{rfs, rust_lib_name, rustc}; | |
| fn main() { | |
| rustc().crate_type("rlib").input("crateA.rs").run(); | |
| rustc().crate_type("rlib").input("crateB.rs").run(); | |
| rfs::remove_file(rust_lib_name("crateA")); | |
| // Ensure that crateC fails to compile, as the crateA dependency is missing. | |
| rustc() | |
| .input("crateC.rs") | |
| .run_fail() | |
| .assert_stderr_contains("can't find crate for `crateA` which `crateB` depends on"); | |
| } |