#attributes #stringify #string #proc-macro

stringify-attr

字符串化属性宏

1 个稳定版本

1.0.0 2020年3月21日

#1423进程宏

Download history 5/week @ 2024-03-26 13/week @ 2024-04-02 10/week @ 2024-04-16 7/week @ 2024-04-23 2/week @ 2024-05-21

每月76次下载

Zlib 许可证

7KB
63

stringify-attr

Crate Version Documentation Zlib

字符串化属性宏。可能在单元测试和调试中非常有用,但谁又能知道。

用法

基本上,这些宏允许您使用属性宏来字符串化,而不是使用正常的 stringify!。由于属性宏必须产生一个项,因此每个宏都产生一个 result! 宏,该宏展开为所需的字符串。

仅字符串化属性

use stringify_attr::stringify_attr;

assert_eq!(
    {
        #[stringify_attr(foo)] struct Foo;
        result!()
    },
    "foo"
);

仅项目

use stringify_attr::stringify_item;

assert_eq!(
    {
        #[stringify_item(foo)] struct Foo;
        result!()
    },
    "struct Foo;"
);

或者整个内容

use stringify_attr::stringify_all;

assert_eq!(
    {
        #[stringify_all(foo)] struct Foo;
        result!()
    },
    "#[stringify_all(foo)] struct Foo;"
);

由于属性宏无法区分使用不同定界符调用,因此提供了不同的属性

use stringify_attr::stringify_braces as stringify_all;

assert_eq!(
    {
        #[stringify_all{foo}] struct Foo;
        result!()
    },
    "#[stringify_all{foo}] struct Foo;"
);

注意,这些属性仍然在输出中产生文本 "stringify_all"

依赖项

~82KB