您现在的位置是:首页 > 新游发布

Rust 1.38 稳定版发布

星际游娱坊 2025-03-12【新游发布】268人已围观

简介已经发布了,稳定版内容如下:管道编译(pipelinedcompilation)如果想要编译crate,编译器不需要完全构建依赖项,只需要它们的“元数据”(即类型、依赖项、导出的列表),元数据在编译过程早期生成。从开始,Cargo将基于这一优势,一旦元数据准备就绪,就自动开始构建依赖的crate。虽...

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

管道编译(pipelinedcompilation)

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

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

mem::{uninitialized,zeroed}

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

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

std::any::type_name

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

fngen_valueT:Default()-T{println!("Initializinganinstanceof{}",std::any::type_name::T());Default::default()}fnmain(){let_:i32=gen_value();let_:String=gen_value();}

输出结果:

Initializinganinstanceofi32Initializinganinstanceofalloc::string::String

库的更改

slice::{concat,connect,join}现在支持[T]和T

*constT和*mutT现在实现maker::Unpin

Arc[T]和Rc[T]实现FormIteratorT

iter::StepBy,Peekble,Take实现DoubleedIterator

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

Duration::div_duration_f32和Duration::div_duration_f64

*constT::cast和*mutT::cast

Duration::as_secs_f32和Duration::as_secs_f64

Duration::div_f32和Duration::div_f64

Duration::from_secs_f32和Duration::from_secs_f64

Duration::mul_f32和Duration::mul_f64

获取1.38版本方式如下:

rustupupdatestable

详情见发布公告:

Rust的下载地址:「链接」

很赞哦!(99)