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

局长
 局长
发布于 2019年01月18日
收藏 7

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

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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Rust 1.32.0 发布,新增名为 "dbg" 的宏
加载中

精彩评论

薛定谔的猫__

引用来自“Doeeking”的评论

bdg一定指bebug吧,这个简短的单词怎么就不用后者,这就是与众不同的Rust-style?
这么短都打错了,知道为什么不用后者了吧:)

最新评论(9

攻城狮朋友圈
攻城狮朋友圈

引用来自“随风巽”的评论

功能越来越多,不停的往里面加东西,好熟悉的感觉
rust还是很谨慎的
随风巽
随风巽
功能越来越多,不停的往里面加东西,好熟悉的感觉
Anjelo
Anjelo
喜欢Rust的命名方式,不过不知道怎么就是学不进去。
薛定谔的猫__

引用来自“Doeeking”的评论

bdg一定指bebug吧,这个简短的单词怎么就不用后者,这就是与众不同的Rust-style?
这么短都打错了,知道为什么不用后者了吧:)
久永
久永
这个不是骂人的话?
现在西方业界流行的政治正确又不要了?
Doeeking
Doeeking

引用来自“Doeeking”的评论

bdg一定指bebug吧,这个简短的单词怎么就不用后者,这就是与众不同的Rust-style?

引用来自“shifeng1983”的评论

兄弟,这么短都打错了
兄弟,以上是一个伪命题!
s
shifeng1983

引用来自“Doeeking”的评论

bdg一定指bebug吧,这个简短的单词怎么就不用后者,这就是与众不同的Rust-style?
兄弟,这么短都打错了
itfanr
itfanr
我看成了 dog
Doeeking
Doeeking
bdg一定指bebug吧,这个简短的单词怎么就不用后者,这就是与众不同的Rust-style?
返回顶部
顶部