Macro std::concat_idents [−][src]
macro_rules! concat_idents {
($($e : ident), + $(,) ?) => { ... };
}
Expand description
将标识符串联为一个标识符。
该宏采用任意数量的逗号分隔的标识符,并将它们全部连接为一个,从而产生一个表达式,该表达式是一个新的标识符。 请注意,卫生使该宏无法捕获本地变量。 同样,作为一般规则,只允许在项,语句或表达式位置使用宏。 这意味着尽管您可以使用此宏来引用现有的变量,函数或模块等,但是您无法使用它来定义一个新的宏。
Examples
#![feature(concat_idents)]
fn foobar() -> u32 { 23 }
let f = concat_idents!(foo, bar);
println!("{}", f());
// fn concat_idents!(new, fun, name) { } // 无法以这种方式使用!
Run