//@ run-pass #![allow(dead_code)] #![allow(unused_unsafe)] // https://github.com/rust-lang/rust/issues/48279 #[derive(PartialEq, Eq)] pub struct NonZeroU32 { value: u32 } impl NonZeroU32 { const unsafe fn new_unchecked(value: u32) -> Self { NonZeroU32 { value } } } // pub const FOO_ATOM: NonZeroU32 = unsafe { NonZeroU32::new_unchecked(7) }; pub const FOO_ATOM: NonZeroU32 = unsafe { NonZeroU32 { value: 7 } }; fn main() { match None { Some(FOO_ATOM) => {} _ => {} } }