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