2个版本

0.1.1 2020年8月12日
0.1.0 2020年5月23日

#32 in #names

自定义许可证

6KB
61

rename-rs

crates.io docs.rs Lines of Code

轻松修改结构体名称。

示例

#[rename(prepend = "One", name = "Two", append = "Three")]
struct Placeholder {
    pub one: u64,
    pub two: u64,
    pub three: u64
}

结构体的名称现在为 OneTwoThree

为什么?

当使用 声明式宏 时,无法创建新的 标识符。您也可以通过使用 过程宏 来解决这个问题,但这会增加复杂性。然而,有一个名为 concat_idents 的宏,它允许您,正如您可能猜到的,连接标识符。这个宏的大问题在于,它还不稳定,并且不允许创建新的标识符。因此,我决定创建一个自己的小助手crate来解决这个问题。

上述问题的实现可以在 这里 找到。

依赖

~1.5MB
~35K SLoC