summaryrefslogtreecommitdiffstats
path: root/src/value.rs
diff options
context:
space:
mode:
authorDaniel Eades <danieleades@hotmail.com>2021-12-27 11:34:46 +0000
committerDaniel Eades <danieleades@hotmail.com>2021-12-28 18:26:19 +0000
commit51077f338678d566aabc76543456c8bf6c04a03b (patch)
treef8dc8abc5024c33a8f0cc4acae0c03018f70b259 /src/value.rs
parent9aa13c6c8ac28b4e2b5c7bf3bcdb32563d802b35 (diff)
use infallible integer conversions where available
Diffstat (limited to 'src/value.rs')
-rw-r--r--src/value.rs30
1 files changed, 15 insertions, 15 deletions
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<i8> for ValueKind {
fn from(value: i8) -> Self {
- ValueKind::I64(value as i64)
+ ValueKind::I64(value.into())
}
}
impl From<i16> for ValueKind {
fn from(value: i16) -> Self {
- ValueKind::I64(value as i64)
+ ValueKind::I64(value.into())
}
}
impl From<i32> for ValueKind {
fn from(value: i32) -> Self {
- ValueKind::I64(value as i64)
+ ValueKind::I64(value.into())
}
}
@@ -90,19 +90,19 @@ impl From<i128> for ValueKind {
impl From<u8> for ValueKind {
fn from(value: u8) -> Self {
- ValueKind::U64(value as u64)
+ ValueKind::U64(value.into())
}
}
impl From<u16> for ValueKind {
fn from(value: u16) -> Self {
- ValueKind::U64(value as u64)
+ ValueKind::U64(value.into())
}
}
impl From<u32> 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<i128> {
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<u128> {
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<E>(self, value: i8) -> ::std::result::Result<Value, E> {
- Ok((value as i64).into())
+ Ok((i64::from(value)).into())
}
#[inline]
fn visit_i16<E>(self, value: i16) -> ::std::result::Result<Value, E> {
- Ok((value as i64).into())
+ Ok((i64::from(value)).into())
}
#[inline]
fn visit_i32<E>(self, value: i32) -> ::std::result::Result<Value, E> {
- 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<E>(self, value: u8) -> ::std::result::Result<Value, E> {
- Ok((value as i64).into())
+ Ok((i64::from(value)).into())
}
#[inline]
fn visit_u16<E>(self, value: u16) -> ::std::result::Result<Value, E> {
- Ok((value as i64).into())
+ Ok((i64::from(value)).into())
}
#[inline]
fn visit_u32<E>(self, value: u32) -> ::std::result::Result<Value, E> {
- Ok((value as i64).into())
+ Ok((i64::from(value)).into())
}
#[inline]