1 个不稳定版本
使用旧的 Rust 2015
| 0.1.3 | 2017 年 4 月 6 日 |
|---|
#2635 在 Rust 模式
用于 2 个包(通过 hadean)
51KB
898 行
parse-generics
此存储库包含与提议的 RFC #1583 相关的几个组件。
parse-generics-poc- RFC 的一个概念验证实现。parse-generics-shim- 包含对 RFC 部分内容的稳定实现,并使用宏规则实现的“补丁”。parse-macros- 包含基于parse-generics-shim的高级解析宏的包。
在包中提供使用 parse-macros 的一个非常基本的示例,然后使用 该 包,由 enum-as-str 和 enum-as-str-test 包提供。更多示例可以在查看 parse-macro 包的 tests 目录中找到。特别是
derive_clone.rs- 内置Clone衍生编译器插件的稳定实现。derive_partial_ord.rs- 内置PartialOrd衍生编译器插件的稳定实现。我曾经被核心团队的一员断言这是不可能的。derive_serialize.rs- 为serde'sSerialize特性提供的稳定衍生宏。不支持属性(例如自定义字段名称)。reflect.rs- 一个非常基本的编译时反射衍生宏。进度受阻于无法定义泛型常量/静态变量,而不是解析或生成复杂性。
链接
- 最新版本(
parse-generics-poc,parse-generics-shim,parse-macros) - 最新文档 (
parse-generics-poc,parse-generics-shim,parse-macros) - 仓库
支持RFC #1583
核心团队目前对接受RFC #1583感到不安,因为其复杂性以及缺乏在宏中正确处理泛型和where子句的可证明支持。
如果您想看到它被接受,使用parse-generics-shim crate(并支持其use-parse-generics-poc功能)将有助于展示将这些宏接受到编译器中的意愿。
许可证
根据您的选择,许可如下:
- MIT许可证(见LICENSE或https://open-source.org.cn/licenses/MIT)
- Apache License,版本2.0(见LICENSE或https://apache.ac.cn/licenses/LICENSE-2.0)
任选其一。
贡献
除非您明确声明,否则您有意提交并包含在您的工作中的任何贡献都应按照上述方式双重许可,而不附加任何额外条款或条件。