#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::num::NonZero; fn main() { test().unwrap(); } fn test() -> Option<()> { let pos = NonZero::new(1i8)?; let neg = NonZero::new(-1i8)?; let min = NonZero::new(i8::MIN)?; let min_plus = NonZero::new(i8::MIN + 1)?; let max = NonZero::new(i8::MAX)?; assert_eq!(pos, pos.saturating_abs()); assert_eq!(pos, neg.saturating_abs()); assert_eq!(max, min.saturating_abs()); assert_eq!(max, min_plus.saturating_abs()); Some(()) }