Rust 1.43.0 发布

小笨 2020年5月1日00:29:33 发表评论 121 views

Rust 1.43.0 现已发布。这是一个相当小的版本,没有新的主要功能,提供了一些新的稳定的 API、一些编译器的性能改进以及与宏相关的小功能。一些具体更新内容如下:

item 碎片

在宏中,可以使用item片段将项目插值到特征、impls 和 extern blocks 的主体中。例如:

macro_rules! mac_trait {
    ($i:item) => {
        trait T { $i }
    }
}
mac_trait! {    fn foo() {}
}

这将产生:

trait T {
    fn foo() {}
}

围绕原语的类型推断

围绕原语,引用和二进制操作的类型推断得到了改进。代码示例使这一点更容易理解:该代码无法在 Rust 1.42 上编译,但是可以在 Rust 1.43 上编译。

let n: f32 = 0.0 + &0.0;

在 Rust 1.42 中,用户会得到一个错误,提示“ hey, I don't know how to add an f64 and an &f64 with a result of f32 “。现在,该算法正确地确定了0.0和&0.0应该改为f32。

用于测试的新 Cargo 环境变量

为了帮助进行集成测试,Cargo 将设置一些新的环境变量。

Library changes

现在,用户可以直接在 floats 和 integers 上使用关联的常量,而不必导入模块。

有一个新primitive 模块可以重新导出 Rust 的原始类型。当用户编写宏并要确保类型不被遮盖时,这可能很有用。

此外,还稳定了六个新的 API:

  • Once::is_completed

  • f32::LOG10_2

  • f32::LOG2_10

  • f64::LOG10_2

  • f64::LOG2_10

  • iter::once_with

以及一些其他变化,更多详情可查看发布说明:https://blog.rust-lang.org/2020/04/23/Rust-1.43.0.html

文章来源于互联网:Rust 1.43.0 发布

weinxin
【微信~支付宝~QQ】打赏
如果本文对你有所帮助,请打赏~1元就足够感动我
小笨

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: