diff --git a/src/collections.rs b/src/collections.rs index f1f107941ce40d79269216bcb225020425923458..3bc89b01865afb6a561d4b9c250a83892a169a26 100644 --- a/src/collections.rs +++ b/src/collections.rs @@ -34,6 +34,22 @@ macro_rules! hashmap { }; } +#[macro_export] +macro_rules! cfg_list { + ($array:expr, $attr:ident = $value:expr) => { + #[cfg($attr = $value)] + { + $array.push($value); + } + }; + + ($array:expr, $($attr:ident = $value:expr),+) => { + $( + $crate::cfg_list!($array, $attr = $value); + )+ + }; +} + #[cfg(test)] mod tests { use crate::*;