锈1.36

开发团队很高兴推出 Rust 1.36!

Rust 1.36 有什么新功能?
未来特征稳定,来自新的:alloc crate、 MaybeUninit , Rust 2015 的 NLL,HashMap的新实现以及一个新的标志 - Cargo 离线。


现在更多:

  • 终于在 Rust 1.36 中 稳定的 特质 未来。
  • 板条箱分配。
    从 Rust 1.36 开始,依赖于全局分配器的 std 部分(例如 Vec ),位于分配箱中。 现在std将重新导出这些部分。 更多关于它.
  • 也许单位而不是 mem::uninitialized。
    在以前的版本中,mem::uninitialized 允许您绕过初始化检查,它用于惰性数组分配,但这个函数非常危险(), 这样 MaybeUninit 类型就稳定了,这样更安全。
    好吧,自从 MaybeUninit 是一个更安全的选择,那么从 Rust 1.38 开始,mem::uninitialized 将是一个已弃用的功能。
    如果您想了解有关未初始化内存的更多信息,可以阅读 Alexis Beingessner 的这篇博客文章。
  • Rust 2015 的 NLL。
    公告中 锈1.31.0 开发人员向我们介绍了 NLL(非词汇生命周期),这是对语言的一项改进,使借用检查器更加智能、更加用户友好。 例子:
    fn 主(){
    令 mut x = 5;
    让 y = &x;
    令 z = &mut x; // 在 1.31.0 之前这是不允许的。
    }

    在 1.31.0 版本中,NLL 仅适用于 Rust 2018,开发人员承诺将添加对 Rust 2015 的支持。
    如果您想了解更多关于 NLL 的信息,您可以阅读更多内容 博客条目 (菲利克斯·克洛克斯)。

  • Cargo 的新标志是“离线”。
    Rust 1.36 稳定了 Cargo 的新标志。 --offline 标志告诉 Cargo 使用本地缓存的依赖项,以便稍后可以离线使用它们。 当必要的依赖项无法离线使用,并且仍然需要互联网时,Cargo 将返回错误。 为了预先下载依赖项,您可以使用 Cargo fetch 命令,该命令将下载所有依赖项。
  • 这是 您可以阅读更详细的更改概述。

标准库也有变化:

其他变化 , 货物 и Clippy.

来源: linux.org.ru

添加评论