//@ only-64bit // This test validates we gracefully fail computing a const or static of absurdly large size. // The oddly-specific number is because of LLVM measuring object sizes in bits. const HUGE_SIZE: usize = 1 << 61; pub struct TooBigArray { arr: [u8; HUGE_SIZE], } impl TooBigArray { pub const fn new() -> Self { TooBigArray { arr: [0x00; HUGE_SIZE], } } } static MY_TOO_BIG_ARRAY_1: TooBigArray = TooBigArray::new(); //~^ ERROR could not evaluate static initializer //~| too big static MY_TOO_BIG_ARRAY_2: [u8; HUGE_SIZE] = [0x00; HUGE_SIZE]; //~^ ERROR could not evaluate static initializer //~| too big fn main() { }