Rust 1.38 稳定版发布

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

内容简介:Rust 1.38 已经发布了,Rust 1.38.0 稳定版内容如下: 管道编译(pipelined compilation) 如果想要编译 crate,编译器不需要完全构建依赖项,只需要它们的“元数据”(即类型、依赖项、导出的列表),元数据在编译过...

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();
}

Rust 1.38 稳定版发布输出结果:

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

Rust 1.38 稳定版发布Rust 1.38 稳定版发布库的更改

  • 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

Rust 1.38 稳定版发布Rust 1.38 稳定版发布详情见发布公告:

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

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

数学之美 (第二版)

数学之美 (第二版)

吴军 / 人民邮电出版社 / 2014-11 / 49.00元

几年前,“数学之美”系列文章原刊载于谷歌黑板报,获得上百万次点击,得到读者高度评价。读者说,读了“数学之美”,才发现大学时学的数学知识,比如马尔可夫链、矩阵计算,甚至余弦函数原来都如此亲切,并且栩栩如生,才发现自然语言和信息处理这么有趣。 在纸本书的创作中,作者吴军博士几乎把所有文章都重写了一遍,为的是把高深的数学原理讲得更加通俗易懂,让非专业读者也能领略数学的魅力。读者通过具体的例子学到的......一起来看看 《数学之美 (第二版)》 这本书的介绍吧!

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

在线压缩/解压 CSS 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换