#修改 #名称 #结构

已删除 rename_derive

轻松修改结构名称

0.1.0 2020年5月2日

#52#修改

自定义许可证

17KB
61

rename_derive

crates.io crates.io docs.rs Lines of Code GPLv3 license

轻松修改结构名称。

示例

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

结构的名称现在是 OneTwoThree

为什么?

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

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

依赖项

~1.5MB
~36K SLoC