page contents

Rust 新版本1.57.0发布,功能更新速览

12月2日,Rust官方博客发文称Rust 1.57.0正式发布。

attachments-2021-12-q0NFqNLn61aed3a63996e.png

12月2日,Rust官方博客发文称Rust 1.57.0正式发布。

开发者如果想要使用最新版本的Rust,方法也很简单:若是已经通过rustup安装了以前版本的Rust,那么只需要通过以下代码进行更新:rustup update stable。若是没有安装过,那么就可以查看这个文档进行安装。

Rust 1.57.0更新内容:

panic! in const contexts

在以前的Rust版本中,panic!宏在const fn和其他编译时上下文中是不可用的。现在,这一点已经稳定下来了。连同panic!的稳定,其他几个标准库的API现在也可以在const中使用,比如assert!。

这个稳定化还不包括完整的格式化基础设施,所以必须用静态字符串(panic!("..."))或者用单一的&str插值(panic!("{}", a))来调用panic!宏,它必须与{}一起使用(没有格式指定器或其他特征)。

未来这种支持可能会扩大,但现在其实也已经可以实现直接的编译时断言,例如验证一个类型的大小。

const _: () = assert! (std::mem::size_of::() == 8)。

const _: () = assert!(std::mem::size_of::() ==1)。

Cargo对自定义配置文件的支持

Cargo长期以来一直支持四个配置文件:dev、release、test和bench。在Rust 1.57中,增加了对任意命名配置文件的支持。

例如,如果你想只在最终生产构建时启用 link time optimizations (LTO),那么在Cargo.toml中添加以下片段,在选择此配置文件时启用lto标志,但要注意不能在常规发布构建时启用它。

[profile.production]

inherits = "release"

lto = true

请注意,自定义配置文件必须指定一个配置文件,它们从该配置文件继承默认设置。一旦定义了配置文件,构建代码的Cargo命令就可以用--profile production来要求使用它。目前,这将在一个单独的目录(本例中为target/production)中构建工件,这意味着工件不会在目录之间共享。

Fallible allocation

Rust 1.57为Vec、String、HashMap、HashSet和VecDeque稳定了try_reserve。这个API使调用者能够错误地分配这些类型的支持存储。

如果全局分配器失败,Rust通常会中止这个过程,这并不总是可取的。这个API提供了一种方法,可以在使用标准库集合时避免这种中止。然而,Rust并不保证返回的内存实际上是由内核分配的:例如,如果在Linux上启用了超额提交(overcommit),当试图使用时,内存可能并不可用。

目前稳定的API

  • [T; N]::as_mut_slice
  • [T; N]::as_slice
  • collections::TryReserveError
  • HashMap::try_reserve
  • HashSet::try_reserve
  • String::try_reserve
  • String::try_reserve_exact
  • Vec::try_reserve
  • Vec::try_reserve_exact
  • VecDeque::try_reserve
  • VecDeque::try_reserve_exact
  • Iterator::map_while
  • iter::MapWhile
  • proc_macro::is_available
  • Command::get_program
  • Command::get_args
  • Command::get_envs
  • Command::get_current_dir
  • CommandArgs
  • CommandEnvs

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。 

如果你想用Python开辟副业赚钱,但不熟悉爬虫与反爬虫技术,没有接单途径,也缺乏兼职经验
关注下方微信公众号:Python编程学习圈,获取价值999元全套Python入门到进阶的学习资料以及教程,还有Python技术交流群一起交流学习哦。

attachments-2022-06-wyU2VNOg62b177b1607e6.jpeg

  • 发表于 2021-12-07 11:23
  • 阅读 ( 795 )
  • 分类:行业资讯

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章