Add DefaultNoBound (#8542)

* Add DefaultNoBound

* Add tests

* Fix
This commit is contained in:
Kian Paimani
2021-04-08 13:23:55 +02:00
committed by GitHub
parent c04b44b0a3
commit 524fc7d500
6 changed files with 204 additions and 6 deletions
@@ -27,6 +27,7 @@ mod transactional;
mod debug_no_bound;
mod clone_no_bound;
mod partial_eq_no_bound;
mod default_no_bound;
pub(crate) use storage::INHERENT_INSTANCE_NAME;
use proc_macro::TokenStream;
@@ -412,6 +413,12 @@ pub fn derive_eq_no_bound(input: TokenStream) -> TokenStream {
).into()
}
/// derive `Default` but do no bound any generic. Docs are at `frame_support::DefaultNoBound`.
#[proc_macro_derive(DefaultNoBound)]
pub fn derive_default_no_bound(input: TokenStream) -> TokenStream {
default_no_bound::derive_default_no_bound(input)
}
#[proc_macro_attribute]
pub fn require_transactional(attr: TokenStream, input: TokenStream) -> TokenStream {
transactional::require_transactional(attr, input).unwrap_or_else(|e| e.to_compile_error().into())