avoid silent ignore (#3450)

This commit is contained in:
thiolliere
2019-08-22 11:49:22 +02:00
committed by Gavin Wood
parent 5359206aae
commit 716e6fa7f4
+22
View File
@@ -299,6 +299,7 @@ macro_rules! __create_decl_macro {
)* )*
); );
}; };
// Parse system module
(@inner (@inner
$runtime:ident; $runtime:ident;
; // there can not be multiple `System`s ; // there can not be multiple `System`s
@@ -315,6 +316,7 @@ macro_rules! __create_decl_macro {
$d( $rest )* $d( $rest )*
); );
}; };
// Parse instantiable module with generic
(@inner (@inner
$runtime:ident; $runtime:ident;
$d( $system:ident )?; $d( $system:ident )?;
@@ -334,6 +336,23 @@ macro_rules! __create_decl_macro {
$d( $rest )* $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 (@inner
$runtime:ident; $runtime:ident;
$d( $system:ident )?; $d( $system:ident )?;
@@ -353,6 +372,7 @@ macro_rules! __create_decl_macro {
$d( $rest )* $d( $rest )*
); );
}; };
// Ignore keyword
(@inner (@inner
$runtime:ident; $runtime:ident;
$d( $system:ident )?; $d( $system:ident )?;
@@ -370,6 +390,7 @@ macro_rules! __create_decl_macro {
$d( $rest )* $d( $rest )*
); );
}; };
// Ignore module
(@inner (@inner
$runtime:ident; $runtime:ident;
$d( $system:ident )?; $d( $system:ident )?;
@@ -384,6 +405,7 @@ macro_rules! __create_decl_macro {
$d( $rest )* $d( $rest )*
); );
}; };
// Expand
(@inner (@inner
$runtime:ident; $runtime:ident;
$system:ident; $system:ident;