macros - 如何在宏中添加前缀/后缀标识符?

标签 macros rust

<分区>

在使用定义函数的宏时,是否可以为函数添加前缀?

macro_rules! my_test {
    ($id:ident, $arg:expr) => {
        #[test]
        fn $id() {
            my_test_impl(stringify!($id), $arg);
        }
    }
}

例如,fn my_test_$id() {

我正在使用可能以数字开头的标识符定义测试,并且我想使用一个通用前缀。

最佳答案

目前这在稳定版中不受支持。


但是 nightly 中有一个名为 concat_idents 的功能:

concat_idents!(my_test_, $id)

更新:似乎没有近期计划将其添加到稳定版本中,请参阅问题。

关于macros - 如何在宏中添加前缀/后缀标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39017871/

相关文章:

使用下一个代码语句的 C 宏或 GCC 指令

c++ - 类型、性质和含义(什么是) "#call"in c++

regex - 将所有正则表达式匹配捕获到一个向量中

rust - async_std 1.8对 `async_std::channel`中的项目有未解析的导入

rust - Rust 中的冒号运算符与 C 中的冒号运算符有何相似之处?

c++ - 这个C++宏是什么意思?

C++11 自动转换

c - C宏中的#x是什么意思?

函数参数报告 "error expected pattern, found keyword ` mod`"

rust - 如何向 `Child` 子进程发送信号?