macro_rules! tests_impls { () => { ... }; ( $( #[ $Meta : meta ] )* $Vis : vis fn $Name : ident $( $Rest : tt )* ) => { ... }; ( @DefineFn @Meta{ $( #[ $Meta : meta ] )* } @Vis{ $Vis : vis } @Name{ $Name : ident } @Rest $Item : item $( $Rest : tt )* ) => { ... }; }
Define implementation putting each function under a macro and adding attribute #[ test ]. Use index! to generate code for each element. Unlike elements of [test_impls_optional!], elements of [test_impls] are mandatory to be used in index!.
#[ test ]
test_impls_optional
test_impls
index