Rust.cc

Rust.cc -

macro-v 0.1.0,一个让声名式宏的可见性和函数、结构体一样的属性宏

macro-v Rust 中声名式宏的可见性和其他的诸如函数、结构体并不一样,不是用 pub,pub(crate),而是用 #[macro_use] 和 #[macro_export],说实话,我经常搞不懂这两个要怎么用,平常用不到,用到了就是临时抱佛脚看看。 我在社区里看到了一个 crate,macro-vis,能用属性宏将声名式宏的可见性写起来和其他的 item 的可见性一样,但是有两个小小的问题: 你必须加上 #![allow(uncommon_codepoints)]。我对这种禁止编译器警告的方式有点抗拒,我还是挺享受编译器的各种警告的,而且我比较懒,不想写这个属性。 生成的宏在文档里会被显示成函数,而不是宏,而且函数的名字有个 ! 的后缀,像是一个宏一样,这个特殊符号的存在也是为什么第一个问题存在的原因。我感觉这种显示方式不太好,我希望宏能像宏一样显示。 所以我重新实现了一个属性宏,解决了这两个问题。代码很简单,文档注释的行数都比代码行数多,各位大佬一看就会。 地址在这里,macro-v。 唯一有个小小的问题,就是如果要手动重新导出宏,就必须在 pub use 上加上 #[doc(inline)],不然宏就不会在文档里显示出来,这个问题是实现方式导致的,暂时无解,要彻底解决这个问题,只能等官方的声名式宏 2.0 版本出来了。 欢迎各位使用,有问题欢迎提 issue,如果觉得好用,欢迎 star。

macro-v 是一个可以用属性宏将声名式宏的可见性写起来和其他的 item 的可见性一样的 crate,但是有两个小小的问题,作者重新实现了一个属性宏解决了这两个问题,但是还有一个小小的问题,只能等官方的声名式宏 2.0 版本出来了才能彻底解决。欢迎使用,有问题欢迎提 issue,如果觉得好用,欢迎 star。

macro-v 函数 可见性 声名式宏 官方 属性宏

相关推荐 去reddit讨论

热榜 Top10

LigaAI
LigaAI
eolink
eolink
观测云
观测云
Dify.AI
Dify.AI

推荐或自荐