diff --git a/substrate/node/runtime/src/lib.rs b/substrate/node/runtime/src/lib.rs index ce1aaa6b7350b3c1163062a044aefa73a0f227ac..2d6a8eb2ca782f61ea4a7864af29bd3822eeaafc 100644 --- a/substrate/node/runtime/src/lib.rs +++ b/substrate/node/runtime/src/lib.rs @@ -81,7 +81,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // implementation changes and behavior does not, then leave spec_version as // is and increment impl_version. spec_version: 131, - impl_version: 132, + impl_version: 133, apis: RUNTIME_API_VERSIONS, }; diff --git a/substrate/srml/metadata/src/lib.rs b/substrate/srml/metadata/src/lib.rs index 329b543d1a90dec184d5210b345b4eb4957d5095..bf7c379000d760cffb39c950c0fc6eace93e2934 100644 --- a/substrate/srml/metadata/src/lib.rs +++ b/substrate/srml/metadata/src/lib.rs @@ -210,7 +210,7 @@ pub struct ModuleConstantMetadata { } /// A technical trait to store lazy initiated vec value as static dyn pointer. -pub trait DefaultByte { +pub trait DefaultByte: Send + Sync { fn default_byte(&self) -> Vec<u8>; } diff --git a/substrate/srml/support/procedural/src/storage/transformation.rs b/substrate/srml/support/procedural/src/storage/transformation.rs index 2e33493964c5aa02de9370f14e9169b2d17899a2..2c96e5a23b738a2d53d43307ba389e64a840039d 100644 --- a/substrate/srml/support/procedural/src/storage/transformation.rs +++ b/substrate/srml/support/procedural/src/storage/transformation.rs @@ -1069,6 +1069,12 @@ fn store_functions_to_metadata ( } } + unsafe impl<#traitinstance: #traittype, #instance #bound_instantiable> Send + for #struct_name<#traitinstance, #instance> #where_clause {} + + unsafe impl<#traitinstance: #traittype, #instance #bound_instantiable> Sync + for #struct_name<#traitinstance, #instance> #where_clause {} + #[cfg(not(feature = "std"))] impl<#traitinstance: #traittype, #instance #bound_instantiable> #scrate::metadata::DefaultByte for #struct_name<#traitinstance, #instance> #where_clause diff --git a/substrate/srml/support/src/dispatch.rs b/substrate/srml/support/src/dispatch.rs index 0391d2995f0f6fa89098e6bc659384173b504d40..294fe3795e7c1f68dda9d262e3a8e1e25dfb9df9 100644 --- a/substrate/srml/support/src/dispatch.rs +++ b/substrate/srml/support/src/dispatch.rs @@ -1431,6 +1431,14 @@ macro_rules! __impl_module_constants_metadata { $crate::dispatch::Encode::encode(&value) } } + + unsafe impl<$const_trait_instance: 'static + $const_trait_name $( + <I>, $const_instance: $const_instantiable)? + > Send for $default_byte_name <$const_trait_instance $(, $const_instance)?> {} + + unsafe impl<$const_trait_instance: 'static + $const_trait_name $( + <I>, $const_instance: $const_instantiable)? + > Sync for $default_byte_name <$const_trait_instance $(, $const_instance)?> {} )* &[ $(