From 6bea2e04e4b8c8c9085fc1a306f1f21903700b27 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sat, 13 Sep 2025 13:42:19 -0700 Subject: [PATCH] Move doc helper macros to serde_core --- serde/src/lib.rs | 3 -- serde/src/private/mod.rs | 3 -- {serde => serde_core}/src/private/doc.rs | 0 serde_core/src/private/mod.rs | 4 +++ serde_core/src/ser/impossible.rs | 4 +-- serde_core/src/ser/mod.rs | 36 ++++++++++++------------ 6 files changed, 24 insertions(+), 26 deletions(-) rename {serde => serde_core}/src/private/doc.rs (100%) diff --git a/serde/src/lib.rs b/serde/src/lib.rs index 85c9d394..73872f5d 100644 --- a/serde/src/lib.rs +++ b/serde/src/lib.rs @@ -212,9 +212,6 @@ mod lib { pub use alloc::boxed::Box; #[cfg(feature = "std")] pub use std::boxed::Box; - - #[cfg(feature = "std")] - pub use std::error; } // None of this crate's error handling needs the `From::from` error conversion diff --git a/serde/src/private/mod.rs b/serde/src/private/mod.rs index 1d4d494e..0098f16b 100644 --- a/serde/src/private/mod.rs +++ b/serde/src/private/mod.rs @@ -3,9 +3,6 @@ pub mod de; #[cfg(not(no_serde_derive))] pub mod ser; -// FIXME: #[cfg(doctest)] once https://github.com/rust-lang/rust/issues/67295 is fixed. -pub mod doc; - pub use crate::lib::clone::Clone; pub use crate::lib::convert::{From, Into, TryFrom}; pub use crate::lib::default::Default; diff --git a/serde/src/private/doc.rs b/serde_core/src/private/doc.rs similarity index 100% rename from serde/src/private/doc.rs rename to serde_core/src/private/doc.rs diff --git a/serde_core/src/private/mod.rs b/serde_core/src/private/mod.rs index 745f40d6..77753786 100644 --- a/serde_core/src/private/mod.rs +++ b/serde_core/src/private/mod.rs @@ -2,6 +2,10 @@ mod content; mod seed; +// FIXME: #[cfg(doctest)] once https://github.com/rust-lang/rust/issues/67295 is fixed. +#[doc(hidden)] +pub mod doc; + #[doc(hidden)] pub mod size_hint; diff --git a/serde_core/src/ser/impossible.rs b/serde_core/src/ser/impossible.rs index e2566b29..fe69ae24 100644 --- a/serde_core/src/ser/impossible.rs +++ b/serde_core/src/ser/impossible.rs @@ -17,7 +17,7 @@ use crate::ser::{ /// /// ```edition2021 /// # use serde::ser::{Serializer, Impossible}; -/// # use serde::__private::doc::Error; +/// # use serde_core::__private::doc::Error; /// # /// # struct MySerializer; /// # @@ -41,7 +41,7 @@ use crate::ser::{ /// } /// /// /* other Serializer methods */ -/// # serde::__serialize_unimplemented! { +/// # serde_core::__serialize_unimplemented! { /// # bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str bytes none some /// # unit unit_struct unit_variant newtype_struct newtype_variant /// # tuple tuple_struct tuple_variant map struct struct_variant diff --git a/serde_core/src/ser/mod.rs b/serde_core/src/ser/mod.rs index 698d33ed..62e59d98 100644 --- a/serde_core/src/ser/mod.rs +++ b/serde_core/src/ser/mod.rs @@ -413,7 +413,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for bool { /// fn serialize(&self, serializer: S) -> Result @@ -435,7 +435,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for i8 { /// fn serialize(&self, serializer: S) -> Result @@ -457,7 +457,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for i16 { /// fn serialize(&self, serializer: S) -> Result @@ -479,7 +479,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for i32 { /// fn serialize(&self, serializer: S) -> Result @@ -497,7 +497,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for i64 { /// fn serialize(&self, serializer: S) -> Result @@ -515,7 +515,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for i128 { /// fn serialize(&self, serializer: S) -> Result @@ -542,7 +542,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for u8 { /// fn serialize(&self, serializer: S) -> Result @@ -564,7 +564,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for u16 { /// fn serialize(&self, serializer: S) -> Result @@ -586,7 +586,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for u32 { /// fn serialize(&self, serializer: S) -> Result @@ -604,7 +604,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for u64 { /// fn serialize(&self, serializer: S) -> Result @@ -622,7 +622,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for u128 { /// fn serialize(&self, serializer: S) -> Result @@ -649,7 +649,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for f32 { /// fn serialize(&self, serializer: S) -> Result @@ -667,7 +667,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for f64 { /// fn serialize(&self, serializer: S) -> Result @@ -688,7 +688,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for char { /// fn serialize(&self, serializer: S) -> Result @@ -706,7 +706,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for str { /// fn serialize(&self, serializer: S) -> Result @@ -729,7 +729,7 @@ pub trait Serializer: Sized { /// /// ```edition2021 /// # use serde::ser::{Serializer, SerializeSeq}; - /// # use serde::__private::doc::Error; + /// # use serde_core::__private::doc::Error; /// # /// # struct MySerializer; /// # @@ -745,7 +745,7 @@ pub trait Serializer: Sized { /// seq.end() /// } /// # - /// # serde::__serialize_unimplemented! { + /// # serde_core::__serialize_unimplemented! { /// # bool i8 i16 i32 i64 u8 u16 u32 u64 f32 f64 char str none some /// # unit unit_struct unit_variant newtype_struct newtype_variant /// # seq tuple tuple_struct tuple_variant map struct struct_variant @@ -827,7 +827,7 @@ pub trait Serializer: Sized { /// ```edition2021 /// # use serde::Serializer; /// # - /// # serde::__private_serialize!(); + /// # serde_core::__private_serialize!(); /// # /// impl Serialize for () { /// fn serialize(&self, serializer: S) -> Result