#proc-macro #macro #spans #compiler #syn #source

proc-macro2-impersonated

编译器 proc_macro API 的替代实现

2 个版本

0.1.1 2020年4月15日
0.1.0 2020年4月14日

#1236过程宏


2 个crate 使用

MIT/Apache

92KB
2.5K SLoC

proc-macro2-impersonated

proc-macro2 调整而来,移除了在rust源码外部正确的span包装过程宏。如果你不清楚自己在做什么,不要在过程宏上下文中使用

Build Status Latest Version Rust Documentation

编译器 proc_macro 的过程宏API的包装器。这个库有两个目的

  • 将过程宏类似的功能带到其他上下文,如 build.rs 和 main.rs。 proc_macro 的类型完全特定于过程宏,并且永远不会存在于过程宏之外代码中。同时,proc_macro2 的类型可以存在于任何地方,包括非宏代码。通过针对 proc_macro2 而不是 proc_macro 开发基础库,如 synquote,过程宏生态系统可以很容易地应用于许多其他用例,我们避免了重新实现这些库的非宏等价物。

  • 使过程宏可单元测试。 由于特定于过程宏,使用 proc_macro 的任何内容都不能从单元测试中执行。为了使辅助库或宏的组件可以独立测试,它们必须使用 proc_macro2 实现。

使用方法

[dependencies]
proc-macro2-impersonated = "1.0"

许可证

根据您的选择,许可协议为 Apache License, Version 2.0MIT 许可证
除非您明确声明,否则您提交给包括在此crate中并由Apache-2.0许可证定义的任何有意贡献,将根据上述许可证双重许可,不附加任何额外条款或条件。

依赖项

~57KB