/// Forward a method to an inherent method or a base trait method. macro_rules! forward { ($( Self :: $method:ident ( self $( , $arg:ident : $ty:ty )* ) -> $ret:ty ; )*) => {$( #[inline] fn $method(self $( , $arg : $ty )* ) -> $ret { Self::$method(self $( , $arg )* ) } )*}; ($( $base:ident :: $method:ident ( self $( , $arg:ident : $ty:ty )* ) -> $ret:ty ; )*) => {$( #[inline] fn $method(self $( , $arg : $ty )* ) -> $ret { ::$method(self $( , $arg )* ) } )*}; ($( $base:ident :: $method:ident ( $( $arg:ident : $ty:ty ),* ) -> $ret:ty ; )*) => {$( #[inline] fn $method( $( $arg : $ty ),* ) -> $ret { ::$method( $( $arg ),* ) } )*} }