From c8112e2c6fd9f1f5e7cb767b682fda746fc00520 Mon Sep 17 00:00:00 2001
From: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
Date: Thu, 11 Jan 2024 01:30:32 +0100
Subject: [PATCH] frame-support: sp-runtime dependency updated (serde) (#2907)

`frame-support` crate compilation fails (reported by @koute):

```
$ cargo check --no-default-features --target=wasm32-unknown-unknown

error[E0277]: the trait bound `GC: Serialize` is not satisfied
    --> substrate/frame/support/src/genesis_builder_helper.rs:32:24
     |
32   |     serde_json::to_string(&GC::default())
     |     --------------------- ^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `GC`
     |     |
     |     required by a bound introduced by this call
     |
note: required by a bound in `serde_json::to_string`
    --> /home/kou/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.111/src/ser.rs:2209:17
     |
2207 | pub fn to_string<T>(value: &T) -> Result<String>
     |        --------- required by a bound in this function
2208 | where
2209 |     T: ?Sized + Serialize,
     |                 ^^^^^^^^^ required by this bound in `to_string`
help: consider further restricting this bound
     |
30   |     GC: BuildGenesisConfig + Default + serde::Serialize,
     |                                      ++++++++++++++++++
```

This PR should fix this.

For all runtimes `sp-runtime/serde` feature was likely enabled by this
(and few other pallets):

https://github.com/paritytech/polkadot-sdk/blob/f2a750ee86e72c9ab677aaf588d0a33ee8446bef/substrate/frame/system/Cargo.toml#L27
---
 substrate/frame/support/Cargo.toml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/substrate/frame/support/Cargo.toml b/substrate/frame/support/Cargo.toml
index 32dcec727cc..04717c012f4 100644
--- a/substrate/frame/support/Cargo.toml
+++ b/substrate/frame/support/Cargo.toml
@@ -24,7 +24,7 @@ frame-metadata = { version = "16.0.0", default-features = false, features = ["cu
 sp-api = { path = "../../primitives/api", default-features = false, features = ["frame-metadata"] }
 sp-std = { path = "../../primitives/std", default-features = false }
 sp-io = { path = "../../primitives/io", default-features = false }
-sp-runtime = { path = "../../primitives/runtime", default-features = false }
+sp-runtime = { path = "../../primitives/runtime", default-features = false, features = ["serde"] }
 sp-tracing = { path = "../../primitives/tracing", default-features = false }
 sp-core = { path = "../../primitives/core", default-features = false }
 sp-arithmetic = { path = "../../primitives/arithmetic", default-features = false }
-- 
GitLab