about summary refs log tree commit diff
path: root/tests/ui/static/static-struct-initialization-5688.rs
blob: 6a4c2f45b6b3502217d77023bf51468abd53c391 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// https://github.com/rust-lang/rust/issues/5688
//@ run-pass
/*
# Corrupted initialization in the static struct

...should print &[1, 2, 3] but instead prints something like
&[4492532864, 24]. It is pretty evident that the compiler messed up
with the representation of [isize; n] and [isize] somehow, or at least
failed to typecheck correctly.
*/

#[derive(Copy, Clone)]
struct X { vec: &'static [isize] }

static V: &'static [X] = &[X { vec: &[1, 2, 3] }];

pub fn main() {
    for &v in V {
        println!("{:?}", v.vec);
    }
}