Introduce a PhantomData field in GenesisConfig (#1116)

This makes it possible to support `GenesisConfig`s that to do not use
generic parameter.
This commit is contained in:
Bastian Köcher
2018-11-16 16:16:10 +01:00
committed by Gav Wood
parent 0628ce94bb
commit a4e5842915
15 changed files with 64 additions and 6 deletions
@@ -627,6 +627,8 @@ macro_rules! __generate_genesis_config {
#[serde(rename_all = "camelCase")]
#[serde(deny_unknown_fields)]
pub struct GenesisConfig<$traitinstance: $traittype> {
#[serde(skip)]
pub _genesis_phantom_data: $crate::storage::generator::PhantomData<$traitinstance>,
$(pub $fieldname : $fieldtype ,)*
$( $(#[$attr])* pub $extrafieldname : $extrafieldty ,)*
}
@@ -635,6 +637,7 @@ macro_rules! __generate_genesis_config {
impl<$traitinstance: $traittype> Default for GenesisConfig<$traitinstance> {
fn default() -> Self {
GenesisConfig {
_genesis_phantom_data: Default::default(),
$($fieldname : $fielddefault ,)*
$($extrafieldname : $extrafielddefault ,)*
}