如何在递归宏扩展中调用concat_idents?

sco*_*man 4 rust

我正在尝试创建一个宏来扩展一组名称并为结构定义字段:

macro_rules! expand {
  ($($name:ident),*) => {
     pub struct Test {
       $(
          concat_idents!(var_, $name) : Vec<$name>
        ),*
     }
  }
}
//fails
expand!(a,b,c);
Run Code Online (Sandbox Code Playgroud)

由于编译器无法识别concat_idents!为宏,因此失败.我该如何解决这个问题?

Chr*_*gan 5

目前不可能以任何方式做到这一点.Substitutions($foo)在那里很好,但不是宏调用.