//@ only-linux //@ ignore-wasm32 //@ ignore-wasm64 // ignore-tidy-linelength // Verify that if the current crate depends on a different version of the same crate, *and* types // and traits of the different versions are mixed, we produce diagnostic output and not an ICE. // #133563 use run_make_support::{diff, rust_lib_name, rustc}; fn main() { rustc().input("foo-prev.rs").run(); let out = rustc() .extra_filename("current") .metadata("current") .input("foo-current.rs") .extern_("foo", rust_lib_name("foo")) .run_fail() .stderr_utf8(); // We don't remap the path of the `foo-prev` crate, so we remap it here. let mut lines: Vec<_> = out.lines().collect(); for line in &mut lines { if line.starts_with(" ::: ") { *line = " ::: foo-prev.rs:X:Y"; } } diff().expected_file("foo.stderr").actual_text("(rustc)", &lines.join("\n")).run(); }