//@ build-pass | |
#![feature(rustc_attrs)] | |
macro_rules! apply { | |
($val:expr) => { | |
#[rustc_layout_scalar_valid_range_start($val)] | |
#[repr(transparent)] | |
pub(crate) struct NonZero<T>(pub(crate) T); | |
} | |
} | |
apply!(1); | |
fn main() { | |
let _x = unsafe { NonZero(1) }; | |
} |