mirror of https://git.sr.ht/~stygianentity/bincode
Use num-traits. (#72)
This commit is contained in:
parent
834e4c3656
commit
c7bdb4a90c
|
|
@ -13,7 +13,7 @@ description = "A binary serialization / deserialization strategy and implementat
|
||||||
[dependencies]
|
[dependencies]
|
||||||
rustc-serialize = { version = "0.3.*", optional = true }
|
rustc-serialize = { version = "0.3.*", optional = true }
|
||||||
byteorder = "0.5.*"
|
byteorder = "0.5.*"
|
||||||
num = { version = "0.1.*", default-features = false }
|
num-traits = "0.1.32"
|
||||||
serde = { version = "0.7.*", optional = true }
|
serde = { version = "0.7.*", optional = true }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@
|
||||||
#[cfg(feature = "rustc-serialize")]
|
#[cfg(feature = "rustc-serialize")]
|
||||||
extern crate rustc_serialize as rustc_serialize_crate;
|
extern crate rustc_serialize as rustc_serialize_crate;
|
||||||
extern crate byteorder;
|
extern crate byteorder;
|
||||||
extern crate num;
|
extern crate num_traits;
|
||||||
#[cfg(feature = "serde")]
|
#[cfg(feature = "serde")]
|
||||||
extern crate serde as serde_crate;
|
extern crate serde as serde_crate;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ use std::fmt;
|
||||||
use std::convert::From;
|
use std::convert::From;
|
||||||
|
|
||||||
use byteorder::{BigEndian, ReadBytesExt};
|
use byteorder::{BigEndian, ReadBytesExt};
|
||||||
use num;
|
use num_traits;
|
||||||
use serde_crate as serde;
|
use serde_crate as serde;
|
||||||
use serde_crate::de::value::ValueDeserializer;
|
use serde_crate::de::value::ValueDeserializer;
|
||||||
use serde_crate::de::Deserializer as SerdeDeserializer;
|
use serde_crate::de::Deserializer as SerdeDeserializer;
|
||||||
|
|
@ -222,7 +222,7 @@ impl<'a, R: Read> serde::Deserializer for Deserializer<'a, R> {
|
||||||
{
|
{
|
||||||
try!(self.read_type::<u64>());
|
try!(self.read_type::<u64>());
|
||||||
let value = try!(self.reader.read_u64::<BigEndian>());
|
let value = try!(self.reader.read_u64::<BigEndian>());
|
||||||
match num::cast(value) {
|
match num_traits::cast(value) {
|
||||||
Some(value) => visitor.visit_usize(value),
|
Some(value) => visitor.visit_usize(value),
|
||||||
None => Err(DeserializeError::Serde(serde::de::value::Error::Custom("expected usize".into())))
|
None => Err(DeserializeError::Serde(serde::de::value::Error::Custom("expected usize".into())))
|
||||||
}
|
}
|
||||||
|
|
@ -242,7 +242,7 @@ impl<'a, R: Read> serde::Deserializer for Deserializer<'a, R> {
|
||||||
{
|
{
|
||||||
try!(self.read_type::<i64>());
|
try!(self.read_type::<i64>());
|
||||||
let value = try!(self.reader.read_i64::<BigEndian>());
|
let value = try!(self.reader.read_i64::<BigEndian>());
|
||||||
match num::cast(value) {
|
match num_traits::cast(value) {
|
||||||
Some(value) => visitor.visit_isize(value),
|
Some(value) => visitor.visit_isize(value),
|
||||||
None => Err(DeserializeError::Serde(serde::de::value::Error::Custom("expected isize".into()))),
|
None => Err(DeserializeError::Serde(serde::de::value::Error::Custom("expected isize".into()))),
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue