* first draft, probably won't work
* first draft, probably won't work
* good progress..
* good milestone, still a lot to do.
* EVERYTHING WORKS
* Update frame/support/procedural/src/derive_impl.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Update frame/support/procedural/src/derive_impl.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* clean up + cargo fmt
* import tokens WIP
* export_tokens working with impl Trait
* WIP / notes
* use macro_magic 0.2.0's export_tokens to access foreign items
* token importing working properly using macro_magic 0.2.5
* combine_impls almost working
* successfully get foreign path via macro_magic 0.2.6
* combine_impls using implementing_type generics
* working + clean up
* more clean up
* decrease rightwards drift and add docs to combine_impls
* add support for macros to impl_item_ident in case we hit that
* add docs for impl_item_ident method
* fix no_std issues
* re-export of macro_magic working in pallets 🎉
* clean up + fully resolve no_std issue with macro_magic with v0.2.11
* remove trait item code for different trait item types since this
is now handled directly by combine_impls
* clean up
* remove dev comments
* only generate default trait if #[pallet::default_trait] is attached
* authorship and most other pallets now compiling
* compiling 🎉
* add check for more than two pallet attributes on Config trait
* remove unused import in nomination-pool
* clean up debug code
* upgrade to macro_magic v0.2.12
* add neater #[register_default_config(SomeIdent)] macro
* really just a thin wrapper around #[export_tokens]
* upgrade to macro_magic 0.3.1
* rewrite parsing to be compatible with syn 2.x, compiling 🎉
* remove unused keywords
* macro stubs for the new pallet:: macros, preliminary docs
* upgrade to macro_magic v0.3.2
* rename register_default_config => register_default_impl
* bump to macro_magic v0.3.3
* custom disambiguation_path working as 2nd arg to derive_impl
* overhaul docs
* fixes, ident-style paths shortcut working
* remove ident-style shortcut because it makes testing difficult
* add passing UI tests for derive_impl
* switch to `ForeignPath as DisambiguationPath` syntax + update docs
* add UI test for bad foreign path
* add UI test for bad disambiguation path
* add UI test for missing disambiguation path
* add UI test for attached to non impl
* fix derive_impl_attr_args_parsing test
* move tests to bottom
* fix nightly issue
* add doc notes on importing/re-exporting
* remove explicit use of macro_magic::use_attr
Co-authored-by: Bastian Köcher <git@kchr.de>
* use explicit macro_magic::use_attr
Co-authored-by: Bastian Köcher <git@kchr.de>
* remove unneeded {}
Co-authored-by: Bastian Köcher <git@kchr.de>
* remove unneeded collect
Co-authored-by: Bastian Köcher <git@kchr.de>
* add docs for TestDefaultConfig
* remove unneeded `#[export_tokens]` on `DefaultConfig`
* add docs for auto-generated `DefaultConfig`
* no need to clone
Co-authored-by: Bastian Köcher <git@kchr.de>
* clean up combine_impls + compiling again
* remove unused dependency
* simplify struct definition
Co-authored-by: Bastian Köcher <git@kchr.de>
* fix register_default_impl docs
* reduce rightward drift / refactor
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix derive_impl after keith's changes
* simplify disambiguation_path calculation
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* compiling again
* simplify parsing of trait item
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* rename preludes => prelude
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* fix other places where we used preludes instead of prelude
* fix indents
* simplify PalletAttr parsing
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* go back to having no_default and constant as keywords
* make it more clear that disambiguation_path is optional
* make default_trait_items just a Vec instead of Option<Vec>
* rename foreign_path => default_impl_path within substrate
* fix docs
* Change {} to ;
Co-authored-by: Bastian Köcher <git@kchr.de>
* highlight full end-to-end example with link
* add pallet-default-config-example, start by copying dev mode code
* update dev-mode specific docs
* use Person and Points instead of Dummy and Bar
* add docs to example pallet
* revert changes to pallets other than the default config example
* fix outdated references to basic example pallet
* re-order docs to be a bit more clear
* better errors for extra attributes
* add UI tests for duplicate/extra attributes on trait items
* change `#[pallet::default_config]` to option on `#[pallet::config()]`
* update UI tests
* add UI test covering missing `#[pallet::config(with_default)]` when
`#[pallet::no_default]` is used
* add note about new optional conventions
* improve docs about `DefaultConfig` and link to these from a few places
* fix doc comment
* fix old comment referencing `pallet::default_config`
* use u32 instead of u64 for block number
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* use () instead of u32 for `AccountData`
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* use ConstU32<10> for BlockHashCount instead of ConstU64<10>
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
* people are not dummies
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
* fix wording
Co-authored-by: Just van Stam <vstam1@users.noreply.github.com>
* Person => People and compiling again
* add docs for `prelude` module in frame_system
* update Cargo.lock
* cleaner example
* tweaks
* update docs more
* update docs more
* update docs more
* update docs more
* fix ui tests
* err
* Update frame/support/test/tests/pallet_ui.rs
* update ui tests
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Sam Johnson <sam@durosoft.com>
Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
Co-authored-by: Just van Stam <vstam1@users.noreply.github.com>