< 返回版块

gensmusic 发表于 2024-01-08 18:53

认真对待 Rust,多写 Rust

  1. 作者通过参与一次黑客马拉松,尝试用Rust重新实现颜色工具,开始了对Rust的深入探索。

  2. Rust编译器以友好的错误提示和严格的规则为特点,使作者愈发热衷于写更多Rust代码。

  3. Rust社区通过内建lint工具支持新手,促使作者更规范地编写代码,并享受到了Rust提供的愉悦开发体验。

  4. 作者通过构建一个表单提交后端服务(formulate)的项目,深刻认识到测试的价值,逐步提高了对Rust的熟练程度。

  5. Rust的反馈循环激发了作者写更多、学更多、完善项目的欲望,最终将formulate分享给社区,得到外部贡献。

  6. 在另一个项目中,作者选择了Rust,相信其编译后的产品能提供坚固、快速、易于测试和调试的优势。 Rust既是一门惊人的语言,也是完成任务的强大工具。

原文链接

Cargo 1.76 开发周期的总结

这是关于 Cargo 1.76 开发周期的总结:

"这个 Cargo 1.76 开发周期总结于2024年1月3日,由 Cargo 团队的 Ed Page 代表发布。我们希望分享过去6周发生的事情,以更好地让社区保持了解和参与。对于在1.76 beta 分支之前合并的工作,将在接下来的6周内在 Beta 渠道中,并在之后通常可用。

这个总结与 Rust 本周动态不同,它试图更专注于整体情况,而不是个别 PRs,并从更多来源获取信息,如 Cargo 团队会议和 Zulip。

这是一次尝试找到更好的方式与社区互动的实验,我们将看看它的效果如何以及我们能否保持这样的效果。

已合并的工作:

  1. 管理 Cargo 的增长

    • Cargo 团队一直在努力扩展我们的流程,以允许工作区中软件包数量的增长。
    • 在1.74中,我们提供了第三方凭据提供者的 API。
    • 我们有兴趣提供更多与 cargo 交互的第一方 API,比如用于构建脚本和在构建过程中设置的环境变量。
    • 我们希望通过更小的软件包(更快构建和测试)以及更清晰的边界(更容易推理)来改进贡献者体验。
    • 一些潜在的改进包括支持工作区的 cargo publish 后,可以在 CI 中验证已发布的软件包。
  2. -Ztrim-paths

    • -Ztrim-paths 是一个不稳定的功能,提供了在最终二进制文件中清理嵌入路径的不同选项。这可以提高在不牺牲调试体验的情况下共享和发布构件的隐私和可重现性。
    • 该功能目前基本可用,weihanglo一直在推动将其稳定化。
  3. -Zcheck-cfg

    • -Zcheck-cfg 是一个不稳定的功能,将导致 rustc 在未定义的条件编译(如 #[cfg(unknown)] 或 #[cfg(feature = "unknown")])时发出警告。
    • Urgau 在 rustc 和 cargo 上共同努力,以使此功能稳定。最近,他们做了一些工作,例如停止检查 rustc --cfg CLI 标志的名称/值(rust-lang/rust#117522),修复 cargo 在功能更改时重新编译包时的问题(rust-lang/cargo#13012)等。
  4. RFC#3516(公共/私有依赖关系)

    • RFC#3516(公共/私有依赖关系)已合并,将帮助用户在其公共 API 中泄露依赖项时进行标识,有助于防止意外的破坏性更改。

等等...

原文链接

halloy: Rust编写的IRC应用

Halloy 是一个使用 Rust 编写、基于 Iced GUI 库的开源 IRC 客户端。其目标是为 Mac、Windows 和 Linux 平台提供一个简单而快速的客户端

原文链接

async-graphql: 7.0.0 版本发布

async-graphql 是 Rust 实现的 GraphQL 服务器库, 目前 7.0 版本已经发布.

原文链接

--

From 日报小组 BobQ, FBI小白

社区学习交流平台订阅:

评论区

写评论
jerryshell 2024-01-09 10:14

持续关注 -Ztrim-paths !现在 Rust 二进制中包含了编译者的 HOME 路径,这对一些敏感项目来说挺不好的

1 共 1 条评论, 1 页