From 716e6fa7f4e93e9665ade3bcef54a346a6a74df3 Mon Sep 17 00:00:00 2001 From: thiolliere <gui.thiolliere@gmail.com> Date: Thu, 22 Aug 2019 11:49:22 +0200 Subject: [PATCH] avoid silent ignore (#3450) --- substrate/srml/support/src/runtime.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/substrate/srml/support/src/runtime.rs b/substrate/srml/support/src/runtime.rs index 9aae241dba1..6c5eccb1253 100644 --- a/substrate/srml/support/src/runtime.rs +++ b/substrate/srml/support/src/runtime.rs @@ -299,6 +299,7 @@ macro_rules! __create_decl_macro { )* ); }; + // Parse system module (@inner $runtime:ident; ; // there can not be multiple `System`s @@ -315,6 +316,7 @@ macro_rules! __create_decl_macro { $d( $rest )* ); }; + // Parse instantiable module with generic (@inner $runtime:ident; $d( $system:ident )?; @@ -334,6 +336,23 @@ macro_rules! __create_decl_macro { $d( $rest )* ); }; + // Parse instantiable module with no generic + (@inner + $runtime:ident; + $d( $system:ident )?; + { $d( $parsed:tt )* }; + $name:ident : $module:ident:: < $module_instance:ident >:: { + $macro_enum_name $d(, $ingore:ident $d( <$ignor:ident> )* )* + }, + $d( $rest:tt )* + ) => { + compile_error!(concat!( + "Instantiable module with not generic ", stringify!($macro_enum_name), + " cannot be constructed: module `", stringify!($name), "` must have generic ", + stringify!($macro_enum_name), "." + )); + }; + // Parse instantiable module with no generic (@inner $runtime:ident; $d( $system:ident )?; @@ -353,6 +372,7 @@ macro_rules! __create_decl_macro { $d( $rest )* ); }; + // Ignore keyword (@inner $runtime:ident; $d( $system:ident )?; @@ -370,6 +390,7 @@ macro_rules! __create_decl_macro { $d( $rest )* ); }; + // Ignore module (@inner $runtime:ident; $d( $system:ident )?; @@ -384,6 +405,7 @@ macro_rules! __create_decl_macro { $d( $rest )* ); }; + // Expand (@inner $runtime:ident; $system:ident; -- GitLab