rust/tests/compile-fail/validity/nonzero.rs

13 lines
418 B
Rust
Raw Normal View History

// compile-flags: -Zmir-opt-level=1
#![feature(rustc_attrs)]
#![allow(unused_attributes)]
#[rustc_layout_scalar_valid_range_start(1)]
#[repr(transparent)]
pub(crate) struct NonZero<T>(pub(crate) T);
fn main() {
// Make sure that we detect this even when no function call is happening along the way
2018-12-07 03:15:25 -06:00
let _x = Some(unsafe { NonZero(0) }); //~ ERROR encountered 0, but expected something greater or equal to 1
}