macro_rules! impls1 {
    () => { ... };
    (
      $( #[ $Meta : meta ] )*
      $Vis : vis
      fn $Name : ident
      $( $Rest : tt )*
    ) => { ... };
    (
      @DefineFn
      @Meta{ $( #[ $Meta : meta ] )* }
      @Vis{ $Vis : vis }
      @Name{ $Name : ident }
      // @Input{ $Input : tt }
      // @Output{ $( -> $Output : ty )? }
      // @Block{ $Block : block }
      @Rest
        $Item : item
        $( $Rest : tt )*
    ) => { ... };
}
Expand description

Define implementation putting each function under a macro.