57e8fc5685
This commit modifies `check_attr` so that: - Enum variants are now checked (some attributes would not have been prohibited on variants previously). - `check_expr_attributes` and `check_stmt_attributes` are removed as `check_attributes` can perform the same checks. Signed-off-by: David Wood <david@davidtw.co>
34 lines
614 B
Rust
34 lines
614 B
Rust
#![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, f64);
|
|
|
|
#[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 }
|
|
|
|
fn main() {}
|