]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
1 | #![warn(clippy::large_stack_arrays)] |
2 | #![allow(clippy::large_enum_variant)] | |
3 | ||
4 | #[derive(Clone, Copy)] | |
5 | struct S { | |
6 | pub data: [u64; 32], | |
7 | } | |
8 | ||
9 | #[derive(Clone, Copy)] | |
10 | enum E { | |
11 | S(S), | |
12 | T(u32), | |
13 | } | |
14 | ||
2b03887a FG |
15 | pub static DOESNOTLINT: [u8; 512_001] = [0; 512_001]; |
16 | pub static DOESNOTLINT2: [u8; 512_001] = { | |
17 | let x = 0; | |
18 | [x; 512_001] | |
19 | }; | |
20 | ||
fe692bf9 FG |
21 | fn issue_10741() { |
22 | #[derive(Copy, Clone)] | |
23 | struct Large([u32; 100_000]); | |
24 | ||
25 | fn build() -> Large { | |
26 | Large([0; 100_000]) | |
27 | } | |
28 | ||
29 | let _x = [build(); 3]; | |
781aab86 | 30 | //~^ ERROR: allocating a local array larger than 512000 bytes |
fe692bf9 FG |
31 | |
32 | let _y = [build(), build(), build()]; | |
781aab86 | 33 | //~^ ERROR: allocating a local array larger than 512000 bytes |
fe692bf9 FG |
34 | } |
35 | ||
f20569fa XL |
36 | fn main() { |
37 | let bad = ( | |
38 | [0u32; 20_000_000], | |
781aab86 | 39 | //~^ ERROR: allocating a local array larger than 512000 bytes |
f20569fa | 40 | [S { data: [0; 32] }; 5000], |
781aab86 | 41 | //~^ ERROR: allocating a local array larger than 512000 bytes |
f20569fa | 42 | [Some(""); 20_000_000], |
781aab86 | 43 | //~^ ERROR: allocating a local array larger than 512000 bytes |
f20569fa | 44 | [E::T(0); 5000], |
781aab86 | 45 | //~^ ERROR: allocating a local array larger than 512000 bytes |
9c376795 | 46 | [0u8; usize::MAX], |
781aab86 | 47 | //~^ ERROR: allocating a local array larger than 512000 bytes |
f20569fa XL |
48 | ); |
49 | ||
50 | let good = ( | |
51 | [0u32; 1000], | |
52 | [S { data: [0; 32] }; 1000], | |
53 | [Some(""); 1000], | |
54 | [E::T(0); 1000], | |
55 | [(); 20_000_000], | |
56 | ); | |
57 | } |