本周 Rust 动态 479

2023-01-25

说明

本文由 ChatGPT(gpt-3.5-turbo-1106) 翻译。

你好,欢迎阅读本期的 本周 Rust 速递

Rust 是一种赋予每个人构建可靠高效软件能力的编程语言。 这是我们对 Rust 进展和社区情况的每周汇总。 希望有什么内容被提及?在 Twitter 上给我们打标签 @ThisWeekInRust 或者在 mastodon.social 上给我们打标签 @ThisWeekinRust,或者给我们提交 pull request。 想参与其中?我们欢迎贡献

本周 Rust 速递 是在 GitHub 上开发的。 如果你发现本周速递中有任何错误,请提交 PR

Rust 社区更新

官方

基金会

通讯

项目/工具更新

观察/思考

Rust 演练

研究

杂项

本周的最佳 Crate

本周的 crate 是 Darkbird,这是一个受 mnesia 启发的高并发、实时、内存存储库。

感谢 DanyalMh 自荐!

请提交你对下周的建议和投票

征集参与

一直想要为开源项目做贡献,但不知道从哪里开始吗? 每周我们会为你挑选一些 Rust 社区的任务,让你可以选择并开始参与!

如果你是 Rust 项目的所有者,正在寻找贡献者,请在 这里 提交任务。

Rust 项目的更新

上周有 378 个拉取请求被合并

即将到来的活动

2023年1月25日至2023年2月22日之间的 Rusty 活动 🦀

虚拟活动

亚洲

欧洲

北美

如果你正在举办一个 Rust 活动,请将其添加到[日历]中以便在这里提及。请记得同时添加一个活动链接。发送电子邮件至 Rust 社区团队 以获得权限。

工作

请查看最新的 r/rust 招聘帖子

本周引言

Rust 已经证明了,即使在命令式语言中,你可以使用类型系统作为分离逻辑的载体,这并不像那些不可变的函数式前辈所建议的那样神秘。它通过确保语言定义了一个能够帮助你的类型系统,以及确保了其核心属性的健全性可以在其中表达来实现这一点。

  • 内存访问的健全性要求:生命周期
  • 带有值语义的引用的健全性要求:&/&mut _
  • 资源的健全性要求:CopyDrop
  • 确保你的逻辑是单调的:特质而不是继承,缺乏特化(是的,这是一个特性)。
  • (明显缺失:没有依赖类型;显然不是‘必要的’,但我确信它可能会有用;然而,研究正在积极进行;谨慎是好的)

这使得标准库可以将其所有相关要求编码为类型。并且在各处做到这一点是其健全性属性:安全函数除了其参数类型的总和之外没有要求,而unsafe函数可以。没有任何新的或特别的东西,没有使 Rust 的健全性概念特别的东西。

基于分离逻辑的数学推理使得健全性审查变得局部而不需要整个程序的分析。这就是它变得实际的原因。它做得相当成功和有原则,但它没有做出真正革命性的事情。它是过去十年类型系统研究的好部分的总和。这可能就是人们为什么称之为‘健全性定义’的原因,这只是一种非常有力的方式来表达:“我们了解到一个实际的类型系统可以作为证明检查器”。

HeroicKatora on /r/cpp

感谢 Stephan Sokolow 的建议!

请提交引言并投票选择下周的引言

本周 Rust 摘要由: nellshamrell, llogiq, cdmistman, ericseppanen, extrawurst, andrewpollack, U007D, kolharsam, joelmarcey, mariannegoldin, bennyvasquez 编辑。

电子邮件列表托管由 Rust 基金会 赞助。

在 r/rust 上讨论