-use core::num::{IntErrorKind, NonZeroU8, NonZeroU32, NonZeroI32, ParseIntError};
-use core::option::Option::{self, Some, None};
+use core::num::{IntErrorKind, NonZeroI32, NonZeroI8, NonZeroU32, NonZeroU8};
+use core::option::Option::{self, None, Some};
use std::mem::size_of;
#[test]
fn test_from_str() {
assert_eq!("123".parse::<NonZeroU8>(), Ok(NonZeroU8::new(123).unwrap()));
assert_eq!(
- "0".parse::<NonZeroU8>(),
- Err(ParseIntError {
- kind: IntErrorKind::Zero
- })
+ "0".parse::<NonZeroU8>().err().map(|e| e.kind().clone()),
+ Some(IntErrorKind::Zero)
);
assert_eq!(
- "-1".parse::<NonZeroU8>(),
- Err(ParseIntError {
- kind: IntErrorKind::Underflow
- })
+ "-1".parse::<NonZeroU8>().err().map(|e| e.kind().clone()),
+ Some(IntErrorKind::InvalidDigit)
);
assert_eq!(
- "257".parse::<NonZeroU8>(),
- Err(ParseIntError {
- kind: IntErrorKind::Overflow
- })
+ "-129".parse::<NonZeroI8>().err().map(|e| e.kind().clone()),
+ Some(IntErrorKind::Underflow)
+ );
+ assert_eq!(
+ "257".parse::<NonZeroU8>().err().map(|e| e.kind().clone()),
+ Some(IntErrorKind::Overflow)
);
}