#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::num::NonZero; fn main() { test().unwrap(); } fn test() -> Option<()> { let three = NonZero::new(3u8)?; let twenty_seven = NonZero::new(27u8)?; let half_max = NonZero::new(u8::MAX / 2)?; assert_eq!(Some(twenty_seven), three.checked_pow(3)); assert_eq!(None, half_max.checked_pow(3)); Some(()) }