diff --git a/substrate/srml/support/procedural/src/storage/transformation.rs b/substrate/srml/support/procedural/src/storage/transformation.rs index d378907cb1e72fbc2af14dc66beac2340b477af9..eb479a26648a5230e4e32060a4286dd7c49673e9 100644 --- a/substrate/srml/support/procedural/src/storage/transformation.rs +++ b/substrate/srml/support/procedural/src/storage/transformation.rs @@ -35,7 +35,7 @@ use syn::{ }, parse_macro_input, }; -use quote::quote; +use quote::{quote, quote_spanned}; use super::*; @@ -417,7 +417,16 @@ fn decl_store_extra_genesis( } assimilate_require_generic |= ext::expr_contains_ident(&expr.content, traitinstance); let content = &expr.content; - scall = quote!( ( #content ) ); + scall = quote_spanned! { expr.span() => + let scall: fn( + &mut ( + #scrate::sr_primitives::StorageOverlay, + #scrate::sr_primitives::ChildrenStorageOverlay + ), + &Self + ) = #content; + scall + }; has_scall = true; }, }