Rust 1.32.0 发布,新增名为 "dbg" 的宏

  

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)。

更多更新内容请查看发布公告

猜你喜欢

转载自www.oschina.net/news/103699/rust-1-32-0-released