Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions substrate/frame/support/procedural/src/pallet/expand/storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -425,17 +425,20 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream {
Ok(deprecation) => deprecation,
Err(e) => return e.into_compile_error(),
};
// FIXME eagr just use quote::quote!() instead?
Comment thread
eagr marked this conversation as resolved.
Outdated
entries_builder.push(quote::quote_spanned!(storage.attr_span =>
#(#cfg_attrs)*
{
<#full_ident as #frame_support::storage::StorageEntryMetadataBuilder>::build_metadata(
#deprecation,
#frame_support::__private::vec![
#( #docs, )*
],
&mut entries,
);
}
(|entries: &mut #frame_support::__private::Vec<_>| {
{
<#full_ident as #frame_support::storage::StorageEntryMetadataBuilder>::build_metadata(
#deprecation,
#frame_support::__private::vec![
#( #docs, )*
],
entries,
);
}
})
))
}

Expand Down Expand Up @@ -911,7 +914,7 @@ pub fn expand_storages(def: &mut Def) -> proc_macro2::TokenStream {
entries: {
#[allow(unused_mut)]
let mut entries = #frame_support::__private::vec![];
#( #entries_builder )*
#( #entries_builder(&mut entries); )*
entries
},
}
Expand Down
2 changes: 1 addition & 1 deletion substrate/frame/support/test/tests/split_ui.rs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@ fn split_ui() {

let t = trybuild::TestCases::new();
t.compile_fail("tests/split_ui/*.rs");
t.pass("tests/split_ui/pass/*.rs");
t.pass("tests/split_ui/pass/split_*.rs");
Comment thread
gui1117 marked this conversation as resolved.
Outdated
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
use frame_support::pallet_macros::import_section;

mod storage;

#[import_section(storage::storage)]
#[frame_support::pallet(dev_mode)]
pub mod pallet {
use frame_support::pallet_prelude::*;
use frame_system::pallet_prelude::*;

const STORAGE_VERSION: StorageVersion = StorageVersion::new(8);

#[pallet::pallet]
#[pallet::storage_version(STORAGE_VERSION)]
pub struct Pallet<T>(_);

#[pallet::config]
pub trait Config: frame_system::Config {}

#[pallet::call]
impl<T: Config> Pallet<T> {
pub fn increment_value(_origin: OriginFor<T>) -> DispatchResult {
Value::<T>::mutate(|v| {
v.saturating_add(1)
});
Ok(())
}
}
}

fn main() {
}
10 changes: 10 additions & 0 deletions substrate/frame/support/test/tests/split_ui/pass/storage.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
use frame_support::pallet_macros::pallet_section;

#[pallet_section]
mod storage {
#[pallet::storage]
pub type Value<T> = StorageValue<_, u32, ValueQuery>;

#[pallet::storage]
pub type Map<T> = StorageMap<_, _, u32, u32, ValueQuery>;
}