From 51077f338678d566aabc76543456c8bf6c04a03b Mon Sep 17 00:00:00 2001 From: Daniel Eades Date: Mon, 27 Dec 2021 11:34:46 +0000 Subject: use infallible integer conversions where available --- src/value.rs | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'src/value.rs') diff --git a/src/value.rs b/src/value.rs index c88d8a9..2a274cb 100644 --- a/src/value.rs +++ b/src/value.rs @@ -60,19 +60,19 @@ impl<'a> From<&'a str> for ValueKind { impl From for ValueKind { fn from(value: i8) -> Self { - ValueKind::I64(value as i64) + ValueKind::I64(value.into()) } } impl From for ValueKind { fn from(value: i16) -> Self { - ValueKind::I64(value as i64) + ValueKind::I64(value.into()) } } impl From for ValueKind { fn from(value: i32) -> Self { - ValueKind::I64(value as i64) + ValueKind::I64(value.into()) } } @@ -90,19 +90,19 @@ impl From for ValueKind { impl From for ValueKind { fn from(value: u8) -> Self { - ValueKind::U64(value as u64) + ValueKind::U64(value.into()) } } impl From for ValueKind { fn from(value: u16) -> Self { - ValueKind::U64(value as u64) + ValueKind::U64(value.into()) } } impl From for ValueKind { fn from(value: u32) -> Self { - ValueKind::U64(value as u64) + ValueKind::U64(value.into()) } } @@ -322,9 +322,9 @@ impl Value { /// Returns `self` into an i128, if possible. pub fn into_int128(self) -> Result { match self.kind { - ValueKind::I64(value) => Ok(value as i128), + ValueKind::I64(value) => Ok(value.into()), ValueKind::I128(value) => Ok(value), - ValueKind::U64(value) => Ok(value as i128), + ValueKind::U64(value) => Ok(value.into()), ValueKind::U128(value) => Err(ConfigError::invalid_type( self.origin, Unexpected::U128(value), @@ -433,7 +433,7 @@ impl Value { /// Returns `self` into an u128, if possible. pub fn into_uint128(self) -> Result { match self.kind { - ValueKind::U64(value) => Ok(value as u128), + ValueKind::U64(value) => Ok(value.into()), ValueKind::U128(value) => Ok(value), ValueKind::I64(value) => Err(ConfigError::invalid_type( self.origin, @@ -698,17 +698,17 @@ impl<'de> Deserialize<'de> for Value { #[inline] fn visit_i8(self, value: i8) -> ::std::result::Result { - Ok((value as i64).into()) + Ok((i64::from(value)).into()) } #[inline] fn visit_i16(self, value: i16) -> ::std::result::Result { - Ok((value as i64).into()) + Ok((i64::from(value)).into()) } #[inline] fn visit_i32(self, value: i32) -> ::std::result::Result { - Ok((value as i64).into()) + Ok((i64::from(value)).into()) } #[inline] @@ -723,17 +723,17 @@ impl<'de> Deserialize<'de> for Value { #[inline] fn visit_u8(self, value: u8) -> ::std::result::Result { - Ok((value as i64).into()) + Ok((i64::from(value)).into()) } #[inline] fn visit_u16(self, value: u16) -> ::std::result::Result { - Ok((value as i64).into()) + Ok((i64::from(value)).into()) } #[inline] fn visit_u32(self, value: u32) -> ::std::result::Result { - Ok((value as i64).into()) + Ok((i64::from(value)).into()) } #[inline] -- cgit v1.2.3