From ec4fa8636b4c6a07100fa8ee4980a124d7e3e335 Mon Sep 17 00:00:00 2001 From: Tim Kuehn Date: Sun, 24 Apr 2016 20:02:46 -0700 Subject: [PATCH] Minor macro implementation cleanup. * Fold service into service_inner. * Rename service_inner => service. --- tarpc/src/macros.rs | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/tarpc/src/macros.rs b/tarpc/src/macros.rs index d34f054..4a6d73a 100644 --- a/tarpc/src/macros.rs +++ b/tarpc/src/macros.rs @@ -250,18 +250,20 @@ macro_rules! impl_deserialize { /// * `__Reply` -- an implementation detail #[macro_export] macro_rules! service { +// Entry point ( - $( $tokens:tt )* + $( + $(#[$attr:meta])* + rpc $fn_name:ident( $( $arg:ident : $in_:ty ),* ) $(-> $out:ty)*; + )* ) => { - service_inner! {{ - $( $tokens )* + service! {{ + $( + $(#[$attr])* + rpc $fn_name( $( $arg : $in_ ),* ) $(-> $out)*; + )* }} - } -} - -#[doc(hidden)] -#[macro_export] -macro_rules! service_inner { + }; // Pattern for when the next rpc has an implicit unit return type ( { @@ -272,7 +274,7 @@ macro_rules! service_inner { } $( $expanded:tt )* ) => { - service_inner! { + service! { { $( $unexpanded )* } $( $expanded )* @@ -291,7 +293,7 @@ macro_rules! service_inner { } $( $expanded:tt )* ) => { - service_inner! { + service! { { $( $unexpanded )* } $( $expanded )* @@ -300,7 +302,7 @@ macro_rules! service_inner { rpc $fn_name( $( $arg : $in_ ),* ) -> $out; } }; -// Pattern when all return types have been expanded +// Pattern for when all return types have been expanded ( { } // none left to expand $(