diff --git a/serde/src/de/content.rs b/serde/src/de/content.rs index 2b4acad4..637c4195 100644 --- a/serde/src/de/content.rs +++ b/serde/src/de/content.rs @@ -1,5 +1,11 @@ -use std::fmt; -use std::marker::PhantomData; +use core::fmt; +use core::marker::PhantomData; + +#[cfg(all(not(feature = "std"), feature = "collections"))] +use collections::{String, Vec}; + +#[cfg(all(feature = "alloc", not(feature = "std")))] +use alloc::boxed::Box; use de::{ self, diff --git a/serde/src/de/mod.rs b/serde/src/de/mod.rs index 0558be73..8471c995 100644 --- a/serde/src/de/mod.rs +++ b/serde/src/de/mod.rs @@ -115,6 +115,7 @@ mod from_primitive; // Helpers used by generated code. Not public API. #[doc(hidden)] pub mod private; +#[cfg(any(feature = "std", feature = "collections"))] mod content; /////////////////////////////////////////////////////////////////////////////// diff --git a/serde/src/de/private.rs b/serde/src/de/private.rs index 3392e6c8..750eecdc 100644 --- a/serde/src/de/private.rs +++ b/serde/src/de/private.rs @@ -2,6 +2,7 @@ use core::marker::PhantomData; use de::{Deserialize, Deserializer, Error, Visitor}; +#[cfg(any(feature = "std", feature = "collections"))] pub use de::content::{ Content, TaggedContentVisitor, diff --git a/serde/src/ser/private.rs b/serde/src/ser/private.rs index 3134ae0c..9d17ec78 100644 --- a/serde/src/ser/private.rs +++ b/serde/src/ser/private.rs @@ -1,4 +1,4 @@ -use std::fmt::{self, Display}; +use core::fmt::{self, Display}; use ser::{self, Serialize, Serializer, SerializeMap, SerializeStruct};