awesome_macros/
lib.rs

1
2use std::cmp::max;
3use std::cmp::min;
4#[macro_export]
5macro_rules! max {
6     ($e: expr) => { $e };
7     ($e: expr, $($rest: tt)*) => { max($e, max!($($rest)*)) }
8}
9
10#[macro_export]
11macro_rules! min {
12     ($e: expr) => { $e };
13     ($e: expr, $($rest: tt)*) => { min($e, min!($($rest)*)) }
14}
15
16
17#[cfg(test)]
18mod tests {
19    pub use super::*;
20    #[test]
21    fn it_works() {
22        assert_eq!(max!(1,2,3,4), 4);
23    }
24
25    #[test]
26    fn char_works(){
27        assert_eq!(max!('a','b','c','d'),'d' );
28    }
29
30    #[test]
31    fn number_char_works(){
32        assert_eq!(max!('1','2','3','4'), '4');
33    }
34}