mirror of
https://github.com/serde-rs/json.git
synced 2025-11-16 21:35:47 +00:00
Merge pull request 940 from Lucretiel/int128
This commit is contained in:
commit
486598bbef
30
src/ser.rs
30
src/ser.rs
@ -121,7 +121,7 @@ where
|
|||||||
serde_if_integer128! {
|
serde_if_integer128! {
|
||||||
fn serialize_i128(self, value: i128) -> Result<()> {
|
fn serialize_i128(self, value: i128) -> Result<()> {
|
||||||
self.formatter
|
self.formatter
|
||||||
.write_number_str(&mut self.writer, &value.to_string())
|
.write_i128(&mut self.writer, value)
|
||||||
.map_err(Error::io)
|
.map_err(Error::io)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -165,7 +165,7 @@ where
|
|||||||
serde_if_integer128! {
|
serde_if_integer128! {
|
||||||
fn serialize_u128(self, value: u128) -> Result<()> {
|
fn serialize_u128(self, value: u128) -> Result<()> {
|
||||||
self.formatter
|
self.formatter
|
||||||
.write_number_str(&mut self.writer, &value.to_string())
|
.write_u128(&mut self.writer, value)
|
||||||
.map_err(Error::io)
|
.map_err(Error::io)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -974,7 +974,7 @@ where
|
|||||||
tri!(self
|
tri!(self
|
||||||
.ser
|
.ser
|
||||||
.formatter
|
.formatter
|
||||||
.write_number_str(&mut self.ser.writer, &value.to_string())
|
.write_i128(&mut self.ser.writer, value)
|
||||||
.map_err(Error::io));
|
.map_err(Error::io));
|
||||||
tri!(self
|
tri!(self
|
||||||
.ser
|
.ser
|
||||||
@ -1071,7 +1071,7 @@ where
|
|||||||
tri!(self
|
tri!(self
|
||||||
.ser
|
.ser
|
||||||
.formatter
|
.formatter
|
||||||
.write_number_str(&mut self.ser.writer, &value.to_string())
|
.write_u128(&mut self.ser.writer, value)
|
||||||
.map_err(Error::io));
|
.map_err(Error::io));
|
||||||
tri!(self
|
tri!(self
|
||||||
.ser
|
.ser
|
||||||
@ -1661,6 +1661,17 @@ pub trait Formatter {
|
|||||||
writer.write_all(s.as_bytes())
|
writer.write_all(s.as_bytes())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Writes an integer value like `-123` to the specified writer.
|
||||||
|
#[inline]
|
||||||
|
fn write_i128<W>(&mut self, writer: &mut W, value: i128) -> io::Result<()>
|
||||||
|
where
|
||||||
|
W: ?Sized + io::Write,
|
||||||
|
{
|
||||||
|
let mut buffer = itoa::Buffer::new();
|
||||||
|
let s = buffer.format(value);
|
||||||
|
writer.write_all(s.as_bytes())
|
||||||
|
}
|
||||||
|
|
||||||
/// Writes an integer value like `123` to the specified writer.
|
/// Writes an integer value like `123` to the specified writer.
|
||||||
#[inline]
|
#[inline]
|
||||||
fn write_u8<W>(&mut self, writer: &mut W, value: u8) -> io::Result<()>
|
fn write_u8<W>(&mut self, writer: &mut W, value: u8) -> io::Result<()>
|
||||||
@ -1705,6 +1716,17 @@ pub trait Formatter {
|
|||||||
writer.write_all(s.as_bytes())
|
writer.write_all(s.as_bytes())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Writes an integer value like `123` to the specified writer.
|
||||||
|
#[inline]
|
||||||
|
fn write_u128<W>(&mut self, writer: &mut W, value: u128) -> io::Result<()>
|
||||||
|
where
|
||||||
|
W: ?Sized + io::Write,
|
||||||
|
{
|
||||||
|
let mut buffer = itoa::Buffer::new();
|
||||||
|
let s = buffer.format(value);
|
||||||
|
writer.write_all(s.as_bytes())
|
||||||
|
}
|
||||||
|
|
||||||
/// Writes a floating point value like `-31.26e+12` to the specified writer.
|
/// Writes a floating point value like `-31.26e+12` to the specified writer.
|
||||||
#[inline]
|
#[inline]
|
||||||
fn write_f32<W>(&mut self, writer: &mut W, value: f32) -> io::Result<()>
|
fn write_f32<W>(&mut self, writer: &mut W, value: f32) -> io::Result<()>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user