2fb0b160c0
(cherry picked from commit e97e15dea5
)
31 lines
948 B
Rust
31 lines
948 B
Rust
//@ 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();
|
|
}
|