mirror of
https://github.com/serde-rs/json.git
synced 2026-03-12 00:39:07 +00:00
Reduce visibility of parse_any_signed_number
This commit is contained in:
parent
18d4146248
commit
52f2f773fa
16
src/de.rs
16
src/de.rs
@ -11,6 +11,8 @@
|
||||
use std::io;
|
||||
use std::marker::PhantomData;
|
||||
use std::{i32, u64};
|
||||
use std::result;
|
||||
use std::str::FromStr;
|
||||
|
||||
use serde::de::{self, Expected, Unexpected};
|
||||
|
||||
@ -481,9 +483,7 @@ impl<'de, R: Read<'de>> Deserializer<R> {
|
||||
Ok(if positive { 0.0 } else { -0.0 })
|
||||
}
|
||||
|
||||
// Not public API. Should be pub(crate).
|
||||
#[doc(hidden)]
|
||||
pub fn parse_any_signed_number(&mut self) -> Result<Number> {
|
||||
fn parse_any_signed_number(&mut self) -> Result<Number> {
|
||||
let peek = match try!(self.peek()) {
|
||||
Some(b) => b,
|
||||
None => {
|
||||
@ -910,6 +910,16 @@ impl<'de, R: Read<'de>> Deserializer<R> {
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for super::Number {
|
||||
type Err = Error;
|
||||
|
||||
fn from_str(s: &str) -> result::Result<Self, Self::Err> {
|
||||
Deserializer::from_str(s)
|
||||
.parse_any_signed_number()
|
||||
.map(|n| n.into())
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg_attr(rustfmt, rustfmt_skip)]
|
||||
static POW10: [f64; 309] =
|
||||
[1e000, 1e001, 1e002, 1e003, 1e004, 1e005, 1e006, 1e007, 1e008, 1e009,
|
||||
|
||||
@ -11,7 +11,6 @@ use serde::de::{self, Unexpected, Visitor};
|
||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||
use std::fmt::{self, Debug, Display};
|
||||
use std::i64;
|
||||
use std::str::FromStr;
|
||||
|
||||
#[cfg(feature = "arbitrary_precision")]
|
||||
use dtoa;
|
||||
@ -644,16 +643,6 @@ impl<'de> Deserializer<'de> for NumberFieldDeserializer {
|
||||
}
|
||||
}
|
||||
|
||||
impl FromStr for Number {
|
||||
type Err = Error;
|
||||
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
super::de::Deserializer::from_str(s)
|
||||
.parse_any_signed_number()
|
||||
.map(|n| n.into())
|
||||
}
|
||||
}
|
||||
|
||||
impl From<super::de::Number> for Number {
|
||||
fn from(value: super::de::Number) -> Self {
|
||||
let n = match value {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user