Provides macros for parsing generics and where clauses in macro_rules!
.
```rust pub trait TheTrait { }
pub use generics2::parse as generics_parse;
pub use std::compileerror as stdcompile_error;
macrorules! implthetrait { ( $name:ident $($token:tt)* ) => { $crate::genericsparse! { $crate::implthetrait { @impl $name } $($token)* } }; ( @impl $name:ident [$($g:tt)] [$($r:tt)] [$($w:tt)] ) => { impl $($g) $crate::TheTrait for $name $($r)* $($w)* { } }; ( @impl $name:ident [$($g:tt)] [$($r:tt)] [$($w:tt)*] $($token:tt)+ ) => { $crate::stdcompileerror!( "invalid input, allowed input is '$name $( < $generics > $(where $where_clause)? )?'" ); }; } ```