David Tolnay | dd12556 | 2017-12-31 02:16:22 -0500 | [diff] [blame] | 1 | #[macro_export] |
2 | macro_rules! errorf { | ||||
3 | ($($tt:tt)*) => {{ | ||||
4 | use ::std::io::Write; | ||||
5 | let stderr = ::std::io::stderr(); | ||||
6 | write!(stderr.lock(), $($tt)*).unwrap(); | ||||
7 | }}; | ||||
8 | } | ||||
9 | |||||
10 | #[macro_export] | ||||
David Tolnay | f2cfd72 | 2017-12-31 18:02:51 -0500 | [diff] [blame] | 11 | macro_rules! punctuated { |
David Tolnay | a0834b4 | 2018-01-01 21:30:02 -0800 | [diff] [blame^] | 12 | ($($e:expr,)+) => {{ |
David Tolnay | f2cfd72 | 2017-12-31 18:02:51 -0500 | [diff] [blame] | 13 | let mut seq = ::syn::punctuated::Punctuated::new(); |
David Tolnay | dd12556 | 2017-12-31 02:16:22 -0500 | [diff] [blame] | 14 | $( |
David Tolnay | a0834b4 | 2018-01-01 21:30:02 -0800 | [diff] [blame^] | 15 | seq.push($e); |
16 | )+ | ||||
David Tolnay | f2cfd72 | 2017-12-31 18:02:51 -0500 | [diff] [blame] | 17 | seq |
David Tolnay | dd12556 | 2017-12-31 02:16:22 -0500 | [diff] [blame] | 18 | }}; |
19 | |||||
20 | ($($e:expr),+) => { | ||||
David Tolnay | f2cfd72 | 2017-12-31 18:02:51 -0500 | [diff] [blame] | 21 | punctuated!($($e,)+) |
David Tolnay | dd12556 | 2017-12-31 02:16:22 -0500 | [diff] [blame] | 22 | }; |
23 | } |