2个不稳定版本
0.2.0 | 2023年12月19日 |
---|---|
0.1.0 | 2018年12月1日 |
#346 in 进程宏
在 2 crates 中使用
11KB
138 代码行
为进程宏类型提供了一个更忠实的 Display
实现
这个crate提供了一个关于输入标记流的忠实显示实现。也就是说,显示格式化输出将包含与Rust标记流输入流相同的空格和换行符。
您可以自由浏览文档以获取更多详细信息。
lib.rs
:
一个针对 [proc_macro] 的替代 Display
实现方案,尊重输入布局和格式。
理想情况下,[proc_macro] 类型的 Display
实现不尊重输入的布局。对于大多数常见的Rust用例,这是可以接受的,因为该语言不依赖于空白,并有自己的浮点数、字段访问等语法。然而,对于所有其他用例,您将丢失格式和缩进。另外,一些 EDSLs 可能需要严格使用换行符或带有前导冒号、逗号等符号,而不使用空白。
此crate提供了一个尊重输入格式的 Display
实现,因此可以显示一个 TokenStream
,并用比 syn 更神秘的解析器解析它。
目前,此crate高度依赖于 nightly 功能。您还不能在 stable 通道上使用它...
您可以通过在您的 TokenStream
上调用 faithful_display
函数来获得一个忠实的 Display
对象。
在撰写本文时,特质不允许在方法中使用 存在性
impl Trait
。这是不幸的,因此该功能是通过函数而不是方法来访问的。