summaryrefslogtreecommitdiffstats
path: root/tests/ui/consts/const-adt-align-mismatch.rs
blob: bd51bc9f215b43f99e096a143e1e7a9b986a9cab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// run-pass
#![allow(dead_code)]
#![allow(deprecated)]

use std::mem;

#[derive(PartialEq, Debug)]
enum Foo {
    A(u32),
    Bar([u16; 4]),
    C
}

// NOTE(eddyb) Don't make this a const, needs to be a static
// so it is always instantiated as a LLVM constant value.
static FOO: Foo = Foo::C;

fn main() {
    assert_eq!(FOO, Foo::C);
    assert_eq!(mem::size_of::<Foo>(), 12);
    assert_eq!(mem::min_align_of::<Foo>(), 4);
}