mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-14 15:41:02 +00:00
allow trailling comma in decl_event (#2117)
* allow trailling comma in decl_event * Update srml/support/src/event.rs Co-Authored-By: xlc <xlchen1291@gmail.com> * Update srml/support/src/event.rs Co-Authored-By: xlc <xlchen1291@gmail.com> * Update srml/support/src/event.rs Co-Authored-By: xlc <xlchen1291@gmail.com> * Update srml/support/src/event.rs Co-Authored-By: xlc <xlchen1291@gmail.com> * Update srml/support/src/event.rs Co-Authored-By: xlc <xlchen1291@gmail.com> * bump version and update wasm
This commit is contained in:
committed by
Bastian Köcher
parent
e22b491783
commit
ea868b6e30
BIN
Binary file not shown.
@@ -59,7 +59,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion {
|
|||||||
impl_name: create_runtime_str!("substrate-node"),
|
impl_name: create_runtime_str!("substrate-node"),
|
||||||
authoring_version: 10,
|
authoring_version: 10,
|
||||||
spec_version: 48,
|
spec_version: 48,
|
||||||
impl_version: 48,
|
impl_version: 49,
|
||||||
apis: RUNTIME_API_VERSIONS,
|
apis: RUNTIME_API_VERSIONS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
BIN
Binary file not shown.
@@ -183,6 +183,38 @@ macro_rules! __decl_generic_event {
|
|||||||
{};
|
{};
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
// Finish formatting on an unnamed one
|
||||||
|
(@format_generic
|
||||||
|
$(#[$attr:meta])*;
|
||||||
|
$event_generic_param:ident;
|
||||||
|
$($instance:ident $( = $event_default_instance:path)? )?;
|
||||||
|
{ <$generic:ident as $trait:path>::$trait_type:ident $(,)? { $( $events:tt )* } };
|
||||||
|
{$( $parsed:tt)*};
|
||||||
|
) => {
|
||||||
|
$crate::__decl_generic_event!(@generate
|
||||||
|
$( #[ $attr ] )*;
|
||||||
|
$event_generic_param;
|
||||||
|
$($instance $( = $event_default_instance)? )?;
|
||||||
|
{ $($events)* };
|
||||||
|
{ $($parsed)*, $trait_type = <$generic as $trait>::$trait_type };
|
||||||
|
);
|
||||||
|
};
|
||||||
|
// Finish formatting on a named one
|
||||||
|
(@format_generic
|
||||||
|
$(#[$attr:meta])*;
|
||||||
|
$event_generic_param:ident;
|
||||||
|
$($instance:ident $( = $event_default_instance:path)? )?;
|
||||||
|
{ $generic_rename:ident = $generic_type:ty $(,)? { $( $events:tt )* } };
|
||||||
|
{ $($parsed:tt)* };
|
||||||
|
) => {
|
||||||
|
$crate::__decl_generic_event!(@generate
|
||||||
|
$(#[$attr])*;
|
||||||
|
$event_generic_param;
|
||||||
|
$($instance $( = $event_default_instance)? )?;
|
||||||
|
{ $($events)* };
|
||||||
|
{ $($parsed)*, $generic_rename = $generic_type };
|
||||||
|
);
|
||||||
|
};
|
||||||
// Parse named
|
// Parse named
|
||||||
(@format_generic
|
(@format_generic
|
||||||
$(#[$attr:meta])*;
|
$(#[$attr:meta])*;
|
||||||
@@ -194,7 +226,7 @@ macro_rules! __decl_generic_event {
|
|||||||
$crate::__decl_generic_event!(@format_generic
|
$crate::__decl_generic_event!(@format_generic
|
||||||
$( #[ $attr ] )*;
|
$( #[ $attr ] )*;
|
||||||
$event_generic_param;
|
$event_generic_param;
|
||||||
$($instance $( = $event_default_instance)? )?;
|
$( $instance $( = $event_default_instance)? )?;
|
||||||
{ $($rest)* };
|
{ $($rest)* };
|
||||||
{ $($parsed)*, $generic_rename = $generic_type };
|
{ $($parsed)*, $generic_rename = $generic_type };
|
||||||
);
|
);
|
||||||
@@ -221,42 +253,10 @@ macro_rules! __decl_generic_event {
|
|||||||
$event_generic_param:ident;
|
$event_generic_param:ident;
|
||||||
$($instance:ident $( = $event_default_instance:path)? )?;
|
$($instance:ident $( = $event_default_instance:path)? )?;
|
||||||
{ $generic_type:ty, $($rest:tt)* };
|
{ $generic_type:ty, $($rest:tt)* };
|
||||||
{$($parsed:tt)*};
|
{ $($parsed:tt)* };
|
||||||
) => {
|
) => {
|
||||||
$crate::__decl_generic_event!(@cannot_parse $generic_type);
|
$crate::__decl_generic_event!(@cannot_parse $generic_type);
|
||||||
};
|
};
|
||||||
// Finish formatting on an unnamed one
|
|
||||||
(@format_generic
|
|
||||||
$(#[$attr:meta])*;
|
|
||||||
$event_generic_param:ident;
|
|
||||||
$($instance:ident $( = $event_default_instance:path)? )?;
|
|
||||||
{ <$generic:ident as $trait:path>::$trait_type:ident { $( $events:tt )* } };
|
|
||||||
{$( $parsed:tt)*};
|
|
||||||
) => {
|
|
||||||
$crate::__decl_generic_event!(@generate
|
|
||||||
$( #[ $attr ] )*;
|
|
||||||
$event_generic_param;
|
|
||||||
$($instance $( = $event_default_instance)? )?;
|
|
||||||
{ $($events)* };
|
|
||||||
{ $($parsed)*, $trait_type = <$generic as $trait>::$trait_type};
|
|
||||||
);
|
|
||||||
};
|
|
||||||
// Finish formatting on a named one
|
|
||||||
(@format_generic
|
|
||||||
$(#[$attr:meta])*;
|
|
||||||
$event_generic_param:ident;
|
|
||||||
$($instance:ident $( = $event_default_instance:path)? )?;
|
|
||||||
{ $generic_rename:ident = $generic_type:ty { $( $events:tt )* } };
|
|
||||||
{$( $parsed:tt)*};
|
|
||||||
) => {
|
|
||||||
$crate::__decl_generic_event!(@generate
|
|
||||||
$(#[$attr])*;
|
|
||||||
$event_generic_param;
|
|
||||||
$($instance $( = $event_default_instance)? )?;
|
|
||||||
{ $($events)* };
|
|
||||||
{ $($parsed)*, $generic_rename = $generic_type};
|
|
||||||
);
|
|
||||||
};
|
|
||||||
// Final unnamed type can't be parsed
|
// Final unnamed type can't be parsed
|
||||||
(@format_generic
|
(@format_generic
|
||||||
$(#[$attr:meta])*;
|
$(#[$attr:meta])*;
|
||||||
@@ -599,6 +599,50 @@ mod tests {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mod event_module4 {
|
||||||
|
pub trait Trait {
|
||||||
|
type Origin;
|
||||||
|
type Balance;
|
||||||
|
type BlockNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_module! {
|
||||||
|
pub struct Module<T: Trait> for enum Call where origin: T::Origin {}
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_event!(
|
||||||
|
/// Event finish formatting on an unnamed one with trailling comma
|
||||||
|
pub enum Event<T> where
|
||||||
|
<T as Trait>::Balance,
|
||||||
|
<T as Trait>::Origin,
|
||||||
|
{
|
||||||
|
TestEvent(Balance, Origin),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
mod event_module5 {
|
||||||
|
pub trait Trait {
|
||||||
|
type Origin;
|
||||||
|
type Balance;
|
||||||
|
type BlockNumber;
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_module! {
|
||||||
|
pub struct Module<T: Trait> for enum Call where origin: T::Origin {}
|
||||||
|
}
|
||||||
|
|
||||||
|
decl_event!(
|
||||||
|
/// Event finish formatting on an named one with trailling comma
|
||||||
|
pub enum Event<T> where
|
||||||
|
BalanceRenamed = <T as Trait>::Balance,
|
||||||
|
OriginRenamed = <T as Trait>::Origin,
|
||||||
|
{
|
||||||
|
TestEvent(BalanceRenamed, OriginRenamed),
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone, PartialEq, Eq, Encode, Decode, Serialize)]
|
#[derive(Debug, Clone, PartialEq, Eq, Encode, Decode, Serialize)]
|
||||||
pub struct TestRuntime;
|
pub struct TestRuntime;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user