【Rust日报】2020-07-31 Rust 1.45.1发布

Rust 1.45.1发布

上次1.45稳定版发布后没多久有人在github爆出了一个似乎动摇到Rust根基的bug(可变借用失效),后来发现主要原因是之前一个重构和整理const propagator的PR引入的问题(具体见Rust Stable 1.45 中的 神奇 Bug 解读),官方博客提到在发布release版之前进行的crater测试(crater测试会用即将发布的版本把crates.io所有的crate全部跑一遍,预计花费4到7天的时间)都没有检测到这个bug,说明在正常状态下几乎不太会触发到这个bug,因为它的条件必须满足如下两条:

  • 可变借用的值必须是常量

  • 可变借用到使用该可变借用之间的代码不能包含任何控制流和函数调用

所以1.45.1版就是为了解决这个问题。

然而今天又报了一个新的bug,估计会再发布一个1.45.2,详情见PR 74954

链接:https://blog.rust-lang.org/2020/07/30/Rust-1.45.1.html1

RFC 2966已提交: 2021 Edition 及以后的 Edition 计划

  1. 本RFC 宣布Rust 2021版本的计划,此后每3年定期发布一次版本。无论是否有重大更改,Rust 官方都将推出一个Edition 版本。

  2. 与Rust 2018不同,将避免使用 Edition 作为将高优先级项目联系在一起的“deadline”。取而代之的是,我们接受了“火车模型(train model)”,但是Edition实际上是“更大的发行版”,使我们有机会概述过去三年中进行的所有工作。

  3. 为Edition lint 指定节奏。

  • Edition N 的“ Edition idiom” lint 将警告N之前的Edition,并在Edition N中默认为“ Deny ”。

  • 由于现在为Rust 2018引入默认deny lint 将具有破坏性,因此将Rust 2018 lint 重新用于Rust 2021 Edition lint中。

  • 指定了一项有关保留关键字和其他预期更改的政策。简而言之,保留关键字仅允许作为活跃项目组(active project group)的一部分。

  • 链接:https://github.com/rust-lang/rfcs/pull/2966

    无船同志关于Smaller Rust的思考

    无船同志2019年7月份写了一篇博客最近好像又被人翻出来了,这篇博客是关于Smaller Rust的思考。

    许多人在接触过甚至写过rust之后对这门语言仅仅停留在有好感却远远没达到特别热爱这种程度,他们或多或少会有这种感觉:Rust作为一门系统级的语言确实很多优点,但是代价是其语言复杂性和学习曲线。所以或许我们需要一门Rust的简化版语言(Smaller Rust):这门语言在尽可能遵循Rust的核心理念的前提下,让语言特性更少更简单,同时不追求那么高的性能,更易于使用等。

    无船同志也赞同这个观点,所以他这篇博客就是主要探讨如果是他设计这门Smaller Rust语言,他该怎么取舍和权衡。推荐一读!

    链接:https://without.boats/blog/notes-on-a-smaller-rust/

    -- From 日报小组 Folyd

    社区学习交流平台订阅:

    • Rustcc论坛: 支持rss

    • 微信公众号:Rust语言中文社区

    你可能感兴趣的:(java,python,git,人工智能,github)