#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::num::NonZero; fn main() { test().unwrap(); } fn test() -> Option<()> { let u_pos = NonZero::new(1u8)?; let i_pos = NonZero::new(1i8)?; let i_neg = NonZero::new(-1i8)?; let i_min = NonZero::new(i8::MIN)?; let u_max = NonZero::new(u8::MAX / 2 + 1)?; assert_eq!(u_pos, i_pos.unsigned_abs()); assert_eq!(u_pos, i_neg.unsigned_abs()); assert_eq!(u_max, i_min.unsigned_abs()); Some(()) }