Rust 1.38 稳定版发布

afterer
 afterer
发布于 2019年09月29日
收藏 9

Rust 1.38 已经发布了,Rust 1.38.0 稳定版内容如下:

管道编译(pipelined compilation)

如果想要编译 crate,编译器不需要完全构建依赖项,只需要它们的“元数据”(即类型、依赖项、导出的列表),元数据在编译过程早期生成。从 Rust 1.38.0 开始,Cargo 将基于这一优势,一旦元数据准备就绪,就自动开始构建依赖的 crate。

虽然这种变化对单个 crate 的编译没有任何影响,但经过测试,得到了一些报告,对于涉及多个 crate 的构建,可为干净的和优化的构建带来大约 10~20% 的编译速度 。而其他的改进并不多,速度的提高取决于运行构建的硬件。

mem::{uninitialized, zeroed}

从 1.38 开始,rustc 将为使用 mem::uninitialized 或 mem::zeroed 错误初始化的狭义类提供 lint。

#[deprecated] macros

#[deprecated] 属性最初是在 Rust 1.9.0 版本中引入的。Rust 1.38.0 扩展了属性,允许将其应用于宏,使用 deprecated 属性将宏标记为 deprecated。

std::any::type_name

对于调试,获取类型的名称有时是有用的。例如,在通用代码中,你可能希望在运行时看到函数的类型参数被实例化的具体类型,此版本可以使用 std::any::type_name 达到这一需求:

fn gen_value<T: Default>() -> T {
    println!("Initializing an instance of {}", std::any::type_name::<T>());
    Default::default()
}

fn main() {
    let _: i32 = gen_value();
    let _: String = gen_value();
}

输出结果:

Initializing an instance of i32
Initializing an instance of alloc::string::String

库的更改

  • slice::{concat,connect,join} 现在支持 &[T] 和 &T
  • *const T 和 *mut T 现在实现 maker::Unpin
  • Arc<[T]> 和 Rc<[T]> 实现 FormIterator<T>
  • iter::StepBy,Peekble,Take 实现 DoubleEndedIterator

另外,以下这些功能已经稳定:

获取 1.38 版本方式如下:

rustup update stable

详情见发布公告:

https://blog.rust-lang.org/2019/09/26/Rust-1.38.0.html

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.dbndka.com.cn]
本文标题:Rust 1.38 稳定版发布
加载中

精彩评论

_Anonymous_
_Anonymous_
滥用标点符号和关键字,明明可以写成
i32 get_sth_done(String &str1, String &str2)
多么清晰明白简洁,却非要弄成
fn get_sth_done(str1 : &String, str2 : &String) -> i32
又长又臭。Haskell的语法不是不能学,但能不能别全盘照搬。
学 Rust 之后我的脾气暴躁不少,每写一行rust就会在心里骂一次rust的作者,有时心情太差甚至会直接骂出口!
对我来说Rust也很成功,成功地让我在一个星期内对它产生负面印象。
楼下的人说得对,Dlang用起来比rust舒服多了。我准备转而学Dlang。
巴拉迪维
巴拉迪维
看好 Rust 的将来,起码不会比 Go 差,不过需要一个好的 IDE 而已。
一码千里
试图入门rust,呕吐了几回,又回到c++和go,决定了,以后就一直f用c++、go、java,直到我职业生涯终止,这些新的东西让年轻人去学习吧。
Alex-loongkylin
Alex-loongkylin
语法不兼容C,不太喜欢,目前研究dlang,功能比rust强大!
251-宇润
251-宇润
现在新的语言语法都很反人类

最新评论(67

w
waterwall
C系语言和自然语言的对话:
A:你能在沙滩上造个沙雕,然后命名为“Rust”吗?
B:没问题,造完了,我帮你在旁边写了一行字“Rust”

Rust的方式:
A:你能建造一个“Rust”吗?
B:不是不可以,但你得说清楚这是什么东西、预算多少、想要多久工期、在哪里建造
A:呃,没那么复杂,我只是想在沙滩上弄个沙雕而已
B:早说嘛,原来是个沙雕。
x
xshrim
看着一堆乱七八糟的符号就没兴趣
W
WindSpeed
觉得语法反人类的 是你们自己的思维模式固定了,说真的 学不动就别学了,适合自己的才是最好的
w
waterwall
有时候这是偏好问题。有些人不喜欢这种语法,有些人不喜欢另一种语法,都很正常。
一位极其不愿意透漏姓名的马先生
一位极其不愿意透漏姓名的马先生
使用价值说真的,不如dart
Strutsz
Strutsz
与天斗其乐无穷,与地斗其乐无穷!!!顶起
一码千里
试图入门rust,呕吐了几回,又回到c++和go,决定了,以后就一直f用c++、go、java,直到我职业生涯终止,这些新的东西让年轻人去学习吧。
251-宇润
251-宇润
现在新的语言语法都很反人类
Alex-loongkylin
Alex-loongkylin
想要Dlang中文资料的可以联系我。
晒太阳的小猪
晒太阳的小猪
自由最重要
小果汁儿
小果汁儿
感觉骂声一片,似乎都要粉转黑
返回顶部
顶部
天津时时彩