AST explorer
希望对任何创建 proc 宏的人有用。
Rust 通过提供同步(解析和格式化)和 WASM(用于交互性)使这个项目变得简单。
https://github.com/CarlKCarlK/rust-ast-explorer
另一个命令行参数解析器:bpaf 0.6.0
Bpaf 是一个轻量级的命令行解析器,其 API 支持组合和派生方法,并返回严格类型化的结果。编译时间快,没有外部依赖项,除非您选择加入派生功能。
- 帮助生成、使用线生成
- 非常小的 API - 您只需要知道大约 10 个 API 名称,总 API 大小约为 25-30 个左右的名称
- 任意嵌套的命令,包括链接和重复它们
- 完整的非 utf8 参数支持
- 动态外壳完成
- 遵循“解析,不验证”的解析方法
- 没有不安全的代码
- 快乐的用户和开发人员:)
在来自/u/epage的一些很好的反馈之后的最后一个公告中,我删除了一些OsString
特定的函数(现在可以通过一个 trait 获得)并添加了一些约束函数——因此你现在可以解析几乎任何你想要的东西。
由于关于 CLI 解析器的传统问题是“为什么使用 that vs clap”:
- 就解析而言,支持的功能集应该大致相同,但您也可以组合可用的原语来解析更多不寻常的东西:https ://docs.rs/bpaf/0.6.0/bpaf/_unusual/index.html
- API 体积缩小 5-7 倍,轻松找到所需内容,轻松掌握
- 编译速度提高 5-7 倍 - 非常适合 CI 和开发
- 二进制文件的开销减少 5-7 倍 - 非常适合运输
- 动态 shell 完成 - 非常适合用户友好
/u/epage https://github.com/rosetta-rs/argparse-rosetta-rs/blob/main/docs/tradeoffs.md做了一个很好的概述
但简而言之,与其给你一堆预制的方法来处理某事,不如给你bpaf
一堆原语,你可以将它们链接成一个迭代器。
从 0.5.x 迁移指南在这里:https ://github.com/pacak/bpaf/blob/master/Changelog.md
PingCAP Rust 重新实现的 Tidis 现在已开源
Tidis是 TiKV 的服务层,旨在提供基于 PingCAP 的 Redis 协议兼容的分布式存储服务。它实现了多种数据类型(string/hash/list/set/sortedset),已被社区广泛使用。
之前是 go 语言实现的 1.0 版,现在已经完全用 Rust 重新设计和重写,以便获得更好的性能和更低的延迟。以及更重要的功能,例如 Lua 脚本、TLS 连接、锁优化等。
https://github.com/tidb-incubator/tidis/blob/master/docs/tidis-introduction.md
From 日报小组 时光