//@ needs-target-std use run_make_support::{Rustc, cwd, diff, rust_lib_name, rustc}; fn rustc_with_common_args() -> Rustc { let mut rustc = rustc(); rustc.remap_path_prefix(cwd(), "$DIR"); rustc.edition("2018"); // Don't require `extern crate` rustc } fn main() { rustc_with_common_args() .input("foo-v1.rs") .crate_type("rlib") .crate_name("foo") .extra_filename("-v1") .metadata("-v1") .run(); rustc_with_common_args() .input("foo-v2.rs") .crate_type("rlib") .crate_name("foo") .extra_filename("-v2") .metadata("-v2") .run(); rustc_with_common_args() .input("re-export-foo.rs") .crate_type("rlib") .extern_("foo", rust_lib_name("foo-v2")) .run(); let stderr = rustc_with_common_args() .input("main.rs") .extern_("foo", rust_lib_name("foo-v1")) .extern_("re_export_foo", rust_lib_name("re_export_foo")) .library_search_path(cwd()) .ui_testing() .run_fail() .stderr_utf8(); diff().expected_file("main.stderr").normalize(r"\\", "/").actual_text("(rustc)", &stderr).run(); }