mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-03 02:40:40 +00:00

We have a few ui tests to ensure we emit an error if we encounter too big arrays. Before this fix, compiling the tests with `-Cdebuginfo=2` would not include the spans of the instantiation sites, because the error is then emitted from a different code path that does not include the span. Propagate the span to the error also in the debuginfo case, so the tests passes regardless of debuginfo level.
17 lines
566 B
Rust
17 lines
566 B
Rust
// FIXME(#61117): Remove revisions once x86_64-gnu-debug CI job sets rust.debuginfo-level-tests=2
|
|
// NOTE: The .stderr for both revisions shall be identical.
|
|
//@ revisions: no-debuginfo full-debuginfo
|
|
//@[no-debuginfo] compile-flags: -Cdebuginfo=0
|
|
//@[full-debuginfo] compile-flags: -Cdebuginfo=2
|
|
//@ build-fail
|
|
|
|
fn generic<T: Copy>(t: T) {
|
|
let s: [T; 1518600000] = [t; 1518600000];
|
|
//~^ ERROR values of the type `[[u8; 1518599999]; 1518600000]` are too big
|
|
}
|
|
|
|
fn main() {
|
|
let x: [u8; 1518599999] = [0; 1518599999];
|
|
generic::<[u8; 1518599999]>(x);
|
|
}
|