1#![allow(unused)]
3
4macro_rules! forward {
6 ($( Self :: $method:ident ( self $( , $arg:ident : $ty:ty )* ) -> $ret:ty ; )*)
7 => {$(
8 #[inline]
9 fn $method(self $( , $arg : $ty )* ) -> $ret {
10 Self::$method(self $( , $arg )* )
11 }
12 )*};
13 ($( $base:ident :: $method:ident ( self $( , $arg:ident : $ty:ty )* ) -> $ret:ty ; )*)
14 => {$(
15 #[inline]
16 fn $method(self $( , $arg : $ty )* ) -> $ret {
17 <Self as $base>::$method(self $( , $arg )* )
18 }
19 )*};
20 ($( $base:ident :: $method:ident ( $( $arg:ident : $ty:ty ),* ) -> $ret:ty ; )*)
21 => {$(
22 #[inline]
23 fn $method( $( $arg : $ty ),* ) -> $ret {
24 <Self as $base>::$method( $( $arg ),* )
25 }
26 )*}
27}
28
29macro_rules! constant {
30 ($( $method:ident () -> $ret:expr ; )*)
31 => {$(
32 #[inline]
33 fn $method() -> Self {
34 $ret
35 }
36 )*};
37}