< 返回版块

baymax-xhl 发表于 2022-09-25 20:49

Tags:Rust,日报,其他和内容相关的

Rust AST 资源管理器

img

Rust AST 资源管理器

粘贴任何 Rust 代码。请参阅 AST(抽象语法树)。

希望对任何创建 proc 宏的人有用。

[更新: AST explorer 更高级。我看到了它,但错过了它的 Rust 选项,这是通过下拉。]

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 日报小组 时光

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页