我试图创建一个宏来扩展一组名称并为结构定义字段:
macro_rules! expand {
($($name:ident),*) => {
pub struct Test {
$(
concat_idents!(var_, $name) : Vec<$name>
),*
}
}
}
//fails
expand!(a,b,c);
由于编译器无法将concat_idents!
识别为宏,因此失败。我该如何解决这个问题?
答案 0 :(得分:5)
目前无法以任何方式执行此操作。替换($foo
)在那里很好,但不是宏调用。