diff --git a/serde/src/de/impls.rs b/serde/src/de/impls.rs index 1d5a4c5d..409f6cbc 100644 --- a/serde/src/de/impls.rs +++ b/serde/src/de/impls.rs @@ -10,7 +10,7 @@ use de::MapAccess; use seed::InPlaceSeed; #[cfg(any(feature = "std", feature = "alloc"))] -use __private::de::size_hint; +use __private::size_hint; //////////////////////////////////////////////////////////////////////////////// diff --git a/serde/src/de/value.rs b/serde/src/de/value.rs index c3a55a4b..1b154c3a 100644 --- a/serde/src/de/value.rs +++ b/serde/src/de/value.rs @@ -24,7 +24,7 @@ use lib::*; use self::private::{First, Second}; -use __private::de::size_hint; +use __private::size_hint; use de::{self, Deserializer, Expected, IntoDeserializer, SeqAccess, Visitor}; use ser; diff --git a/serde/src/private/de.rs b/serde/src/private/de.rs index 77588cb2..0c2f3b82 100644 --- a/serde/src/private/de.rs +++ b/serde/src/private/de.rs @@ -191,29 +191,6 @@ where .map(From::from) } -pub mod size_hint { - use lib::*; - - pub fn from_bounds(iter: &I) -> Option - where - I: Iterator, - { - helper(iter.size_hint()) - } - - #[inline] - pub fn cautious(hint: Option) -> usize { - cmp::min(hint.unwrap_or(0), 4096) - } - - fn helper(bounds: (usize, Option)) -> Option { - match bounds { - (lower, Some(upper)) if lower == upper => Some(upper), - _ => None, - } - } -} - #[cfg(any(feature = "std", feature = "alloc"))] mod content { // This module is private and nothing here should be used outside of @@ -228,7 +205,7 @@ mod content { use lib::*; - use super::size_hint; + use __private::size_hint; use de::{ self, Deserialize, DeserializeSeed, Deserializer, EnumAccess, Expected, IgnoredAny, MapAccess, SeqAccess, Unexpected, Visitor, diff --git a/serde/src/private/mod.rs b/serde/src/private/mod.rs index 27f9d0ed..0bd5ca87 100644 --- a/serde/src/private/mod.rs +++ b/serde/src/private/mod.rs @@ -1,5 +1,6 @@ pub mod de; pub mod ser; +pub mod size_hint; // FIXME: #[cfg(doctest)] once https://github.com/rust-lang/rust/issues/67295 is fixed. pub mod doc; diff --git a/serde/src/private/size_hint.rs b/serde/src/private/size_hint.rs new file mode 100644 index 00000000..f1e34183 --- /dev/null +++ b/serde/src/private/size_hint.rs @@ -0,0 +1,20 @@ +use lib::*; + +pub fn from_bounds(iter: &I) -> Option +where + I: Iterator, +{ + helper(iter.size_hint()) +} + +#[inline] +pub fn cautious(hint: Option) -> usize { + cmp::min(hint.unwrap_or(0), 4096) +} + +fn helper(bounds: (usize, Option)) -> Option { + match bounds { + (lower, Some(upper)) if lower == upper => Some(upper), + _ => None, + } +}