Rust 1.53.0 发布

栏目: 软件资讯 · 发布时间: 3年前

内容简介:Rust 1.53.0 版本现已发布。此版本包含了几个新的 language features 和许多新的 library features,包括期待已久的数组 IntoIterator 的实现。 IntoIterator for arrays 这是第一个让数组实现 IntoIterator 特性...

Rust 1.53.0 版本现已发布。此版本包含了几个新的 language features 和许多新的 library features,包括期待已久的数组 IntoIterator 的实现。

IntoIterator for arrays

这是第一个让数组实现 IntoIterator 特性的 Rust 版本,意味着你现在可以通过 value 来迭代数组了:

for i in [1, 2, 3] {
    ..
}

同样,你现在可以将数组传递给需要T: IntoIterator的 methods:

let set = BTreeSet::from_iter([1, 2, 3]);
for (a, b) in some_iterator.chain([1]).zip([1, 2, 3]) {
    ..
}

从这个版本开始,数组在实现 IntoIterator 时有一个小小的变通,以避免破坏代码。编译器将继续把 array.into_iter() 解析为 (&array).into_iter(),就像该 trait 实现不存在一样。这只适用于 .into_iter() 方法的调用语法,并不影响任何其他语法,如 for e in [1, 2, 3], iter.zip([1, 2, 3]) 或 IntoIterator::into_iter([1, 2, 3]) ,它们都能正常编译。

官方表示,由于 .into_iter() 的这种特殊情况只是为了避免破坏现有的代码而需要的,所以其在今年晚些时候发布的新版本 Rust 2021 中将被删除。更多信息可参见版本公告

Or patterns

Pattern syntax 已扩展为支持|嵌套在 pattern 中的任何位置。这使得你可以编写Some(1 | 2),而不是Some(1) | Some(2)

match result {
     Ok(Some(1 | 2)) => { .. }
     Err(MyError { kind: FileNotFound | PermissionDenied, .. }) => { .. }
     _ => { .. }
}

Unicode 标识符

标识符现在可以包含 non-ascii 字符。UAX #31 中定义的 Unicode 中的所有有效标识符字符。这包括来自许多不同脚本和语言的字符,但不包括表情符号。

编译器会对涉及不同脚本的潜在混淆情况提出警告。例如,使用看起来非常相似的标识符将导致一个警告。

warning: identifier pair considered confusable between `s` and `s`

在 Cargo 中支持 HEAD 分支名称

Cargo 不再假定 git 仓库的默认 HEAD 被命名为 master。这意味着你不再需要为来自默认分支为 main 的仓库的 git 依赖项指定branch = "main" 。

默认情况下增量编译保持关闭

增量编译在稳定版 Rust release channel 上已经默认关闭。该功能在 beta 版和 nightly release channels 上仍然可用。对于 1.53.0 稳定版,重新启用增量的方法与 1.52.1 相比没有变化。

有关更多信息,可参见详细的发行说明


以上所述就是小编给大家介绍的《Rust 1.53.0 发布》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Prometheus: Up & Running

Prometheus: Up & Running

Brian Brazil / O'Reilly Media / 2018-7-9 / USD 49.99

Get up to speed with Prometheus, the metrics-based monitoring system used by tens of thousands of organizations in production. This practical guide provides application developers, sysadmins, and DevO......一起来看看 《Prometheus: Up & Running》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

MD5 加密
MD5 加密

MD5 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试