Rust 发布了最新稳定版 1.32.0,如果已安装过 Rust,可通过以下方式进行升级:
$ rustup update stable
如果从未安装过 Rust,请参考该页面的说明进行安装:https://www.rust-lang.org/install.html
Rust 1.32.0 的更新包括功能改进、切换默认内存分配器,并新增附加功能 const。请查看详细的发布说明以获取更多信息。
dbg macro
功能方面的改进是新增了一个名为 “dbg” 的宏,主要用于在调试时打印输出信息使用,不仅大大优化了输出的信息,还可以让开发者避免对代码结构进行更改。
例如调试下面这段代码:
fn factorial(n: u32) -> u32 { if n <= 1 { n } else { n * factorial(n - 1) } }
使用 eprintln! 进行调试,需要编写的代码如下:
fn factorial(n: u32) -> u32 { eprintln!("n: {}", n); if n <= 1 { eprintln!("n <= 1"); n } else { let n = n * factorial(n - 1); eprintln!("n: {}", n); n } }
而如果使用 dbg! 进行调试,代码可优化为:
fn factorial(n: u32) -> u32 { if dbg!(n <= 1) { dbg!(1) } else { dbg!(n * factorial(n - 1)) } }
删除 jemalloc 默认内存分配器
从 Rust 1.28 开始,Rust 就已经提供了一种选择全局分配器的方法,开始计划将默认内存分配器切换到系统分配器,但依然允许开发者通过包使用 jemalloc。在最新版本 Rust 1.32 中,这项工作终于完成了。默认情况下,开发者使用的将是系统分配器(system allocator)。
转自 https://www.oschina.net/news/103699/rust-1-32-0-released