summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/huge-values.rs
blob: 70a5b10e9be99543db11ad8a509af3217bdac4f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// build-pass
// ignore-32bit

// This test is a canary test that will essentially not compile in a reasonable time frame
// (so it'll take hours) if any of the optimizations regress. With the optimizations, these compile
// in milliseconds just as if the length were set to `1`.

#[derive(Clone, Copy)]
struct Foo;

fn main() {
    let _ = [(); 4_000_000_000];
    let _ = [0u8; 4_000_000_000];
    let _ = [Foo; 4_000_000_000];
    let _ = [(Foo, (), Foo, ((), Foo, [0; 0])); 4_000_000_000];
    let _ = [[0; 0]; 4_000_000_000];
}