26 lines
983 B
Rust
26 lines
983 B
Rust
|
// Ensure that modifying a crate on disk (without recompiling it)
|
||
|
// does not cause ICEs (internal compiler errors) in downstream crates.
|
||
|
// Previously, we would call `SourceMap.guess_head_span` on a span
|
||
|
// from an external crate, which would cause us to read an upstream
|
||
|
// source file from disk during compilation of a downstream crate.
|
||
|
// See https://github.com/rust-lang/rust/issues/86480
|
||
|
|
||
|
//@ ignore-none
|
||
|
// Reason: no-std is not supported
|
||
|
//@ ignore-nvptx64-nvidia-cuda
|
||
|
// Reason: can't find crate for 'std'
|
||
|
|
||
|
use run_make_support::{rfs, rust_lib_name, rustc};
|
||
|
|
||
|
fn main() {
|
||
|
rustc().input("first_crate.rs").incremental("incr").crate_type("lib").run();
|
||
|
rustc()
|
||
|
.input("second_crate.rs")
|
||
|
.incremental("incr")
|
||
|
.extern_("first_crate", rust_lib_name("first_crate"))
|
||
|
.crate_type("lib")
|
||
|
.run();
|
||
|
rfs::remove_file("first_crate.rs");
|
||
|
rustc().input("second_crate.rs").incremental("incr").cfg("second_run").crate_type("lib").run();
|
||
|
}
|