Merge pull request #506 from koushiro/fix_integer128_serialize
Fix integer128 serialize
This commit is contained in:
commit
59d706077d
@ -77,6 +77,13 @@ impl serde::Serializer for Serializer {
|
||||
Ok(Value::Number(value.into()))
|
||||
}
|
||||
|
||||
serde_if_integer128! {
|
||||
#[cfg(feature = "arbitrary_precision")]
|
||||
fn serialize_i128(self, value: i128) -> Result<Value, Error> {
|
||||
Ok(Value::Number(Number::from_string_unchecked(value.to_string())))
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn serialize_u8(self, value: u8) -> Result<Value, Error> {
|
||||
self.serialize_u64(value as u64)
|
||||
@ -97,6 +104,13 @@ impl serde::Serializer for Serializer {
|
||||
Ok(Value::Number(value.into()))
|
||||
}
|
||||
|
||||
serde_if_integer128! {
|
||||
#[cfg(feature = "arbitrary_precision")]
|
||||
fn serialize_u128(self, value: u128) -> Result<Value, Error> {
|
||||
Ok(Value::Number(Number::from_string_unchecked(value.to_string())))
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
fn serialize_f32(self, value: f32) -> Result<Value, Error> {
|
||||
self.serialize_f64(value as f64)
|
||||
|
||||
@ -1909,6 +1909,13 @@ fn test_partialeq_number() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
#[cfg(integer128)]
|
||||
#[cfg(feature = "arbitrary_precision")]
|
||||
fn test_partialeq_integer128() {
|
||||
number_partialeq_ok!(i128::MIN i128::MAX u128::MIN u128::MAX)
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_partialeq_string() {
|
||||
let v = to_value("42").unwrap();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user