Hi guys, I am trying to write a macro_rules
that can expand slice to generate some struct.
The simple example I am writing is:
macro_rules! test {
(&[$($arg:expr),*]) => {
&[$(test!($arg)),*].to_vec();
};
($arg:expr) => {
let a = $arg; // this no sense line just for this test case
};
}
What I expect is:
test!(&[&1, 2, 3, &[4, 5]]);
will expand to
&[let a = &1, let a = 2, let a = 3, &[let a = &4, let a = &5].to_vec()].to_vec();
but it keep give me the
&[let a = &1, let a = 2, let a = 3, let a = &[4, 5]].to_vec()
Do I make some mistakes in this recursive macro? How can I make it?
Thanks!