1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#[macro_export] macro_rules! show { ($expression: expr) => { println!("{:?}", $expression); }; ($expression: expr, $($next: expr),+) => {{ print!("{:?} ", $expression); show!($($next),+) }}; // Ignore a trailing comma: ($($expression: expr),+,) => { show!($($expression),+) }; } #[test] fn it_works() { show!("foo",); show!(Some(42i32)); show!(4u8, 'x', ("a", "b")); //panic!() // Uncomment to see test output. }