Skip to content

Commit b72ce05

Browse files
authored
fix: specifically use serde::Serialize in Scalar derive (#909)
#### Why are we making this change? It was reported [here](#908) that `rust_decimal::Decimal` errored out when `derive(cynic::Scalar)` was used on it. This turned out to be because that `Decimal` type defines its own `serialize` function in addition to implementing `Serialize` and the `Scalar` derive was accidentally using that. #### What effects does this change have? Updaates the `Scalar` derive to specifically use `serde::Serialize::serialize`
1 parent 1f3fd8e commit b72ce05

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

cynic-codegen/src/scalar_derive/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ pub fn scalar_derive_impl(input: ScalarDeriveInput) -> Result<TokenStream, syn::
6767
where
6868
__S: cynic::serde::Serializer,
6969
{
70-
self.0.serialize(serializer)
70+
<#inner_type as cynic::serde::Serialize>::serialize(&self.0, serializer)
7171
}
7272
}
7373

cynic-codegen/src/scalar_derive/snapshots/cynic_codegen__scalar_derive__tests__snapshot_scalar_derive.snap

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ impl cynic::serde::Serialize for DateTime {
88
where
99
__S: cynic::serde::Serializer,
1010
{
11-
self.0.serialize(serializer)
11+
<String as cynic::serde::Serialize>::serialize(&self.0, serializer)
1212
}
1313
}
1414
#[automatically_derived]

0 commit comments

Comments
 (0)