Skip to content

Commit 0a9c7fb

Browse files
committed
Mention serde impls explicitly in #[doc(cfg)]
This can be done even if `serde` feature is disabled during docs publishing, would just be no-op.
1 parent 41ccbe8 commit 0a9c7fb

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

godot-core/src/builtin/string/gstring.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -348,6 +348,8 @@ mod serialize {
348348
use serde::{Deserialize, Deserializer, Serialize, Serializer};
349349
use std::fmt::Formatter;
350350

351+
// For "Available on crate feature `serde`" in docs. Cannot be inherited from module. Also does not support #[derive] (e.g. in Vector2).
352+
#[cfg_attr(published_docs, doc(cfg(feature = "serde")))]
351353
impl Serialize for GString {
352354
#[inline]
353355
fn serialize<S>(
@@ -361,8 +363,8 @@ mod serialize {
361363
}
362364
}
363365

364-
#[cfg(feature = "serde")]
365-
impl<'de> serialize::Deserialize<'de> for GString {
366+
#[cfg_attr(published_docs, doc(cfg(feature = "serde")))]
367+
impl<'de> Deserialize<'de> for GString {
366368
#[inline]
367369
fn deserialize<D>(deserializer: D) -> Result<Self, <D as Deserializer<'de>>::Error>
368370
where

godot-core/src/builtin/string/node_path.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,8 @@ mod serialize {
159159
use serde::{Deserialize, Deserializer, Serialize, Serializer};
160160
use std::fmt::Formatter;
161161

162+
// For "Available on crate feature `serde`" in docs. Cannot be inherited from module. Also does not support #[derive] (e.g. in Vector2).
163+
#[cfg_attr(published_docs, doc(cfg(feature = "serde")))]
162164
impl Serialize for NodePath {
163165
#[inline]
164166
fn serialize<S>(
@@ -172,6 +174,7 @@ mod serialize {
172174
}
173175
}
174176

177+
#[cfg_attr(published_docs, doc(cfg(feature = "serde")))]
175178
impl<'de> Deserialize<'de> for NodePath {
176179
#[inline]
177180
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>

godot-core/src/builtin/string/string_name.rs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,8 @@ mod serialize {
365365
use serde::{Deserialize, Deserializer, Serialize, Serializer};
366366
use std::fmt::Formatter;
367367

368+
// For "Available on crate feature `serde`" in docs. Cannot be inherited from module. Also does not support #[derive] (e.g. in Vector2).
369+
#[cfg_attr(published_docs, doc(cfg(feature = "serde")))]
368370
impl Serialize for StringName {
369371
#[inline]
370372
fn serialize<S>(
@@ -378,7 +380,8 @@ mod serialize {
378380
}
379381
}
380382

381-
impl<'de> serialize::Deserialize<'de> for StringName {
383+
#[cfg_attr(published_docs, doc(cfg(feature = "serde")))]
384+
impl<'de> Deserialize<'de> for StringName {
382385
#[inline]
383386
fn deserialize<D>(deserializer: D) -> Result<Self, <D as Deserializer<'de>>::Error>
384387
where

0 commit comments

Comments
 (0)