about summary refs log tree commit diff
path: root/tests/ui/repr/attr-usage-repr.rs
blob: ca63ac564fc5789becdb1e4bb84420bd4c688bbd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#![feature(repr_simd)]

#[repr(C)] //~ ERROR: attribute should be applied to a struct, enum, or union
fn f() {}

#[repr(C)]
struct SExtern(f64, f64);

#[repr(packed)]
struct SPacked(f64, f64);

#[repr(simd)]
struct SSimd([f64; 2]);

#[repr(i8)] //~ ERROR: attribute should be applied to an enum
struct SInt(f64, f64);

#[repr(C)]
enum EExtern {
    A,
    B,
}

#[repr(align(8))]
enum EAlign {
    A,
    B,
}

#[repr(packed)] //~ ERROR: attribute should be applied to a struct
enum EPacked {
    A,
    B,
}

#[repr(simd)] //~ ERROR: attribute should be applied to a struct
enum ESimd {
    A,
    B,
}

#[repr(i8)]
enum EInt {
    A,
    B,
}

#[repr()] //~ ERROR attribute should be applied to a struct, enum, or union [E0517]
type SirThisIsAType = i32;

#[repr()]
struct EmptyReprArgumentList(i32);

fn main() {}