| //@ 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) => {} | |
| _ => {} | |
| } | |
| } |