Rust 1.45.0 发布

小笨 2020年7月18日19:31:26 发表评论 11 views

Rust 1.45.0 已发布。此版本有两个值得关注的变化:一是修复将大浮点数转换为小整数时出现的 undefined behavior 问题,官方将这种情况称为 unsoundness;二是在 expression, patterns 和 statement 中使用函数式过程宏 (procedural macros)的功能已处于稳定阶段。

Rust 1.45.0 发布

修复浮点数转换为整数时的 unsoundness

对于此问题,官方的解决方案是为 as 关键字执行 "saturating cast"。下面的例子解释了什么叫 saturating cast。

Rust 1.45.0 发布

上面的代码打印出

Rust 1.45.0 发布

或者使用采用 unsafe 方式的新 API 进行转换:

Rust 1.45.0 发布

稳定在 expression, patterns 和 statement 中使用函数式过程宏的功能

Rust 1.45.0 在三个新地方增加了调用过程宏的功能:

Rust 1.45.0 发布

库变更

在 Rust 1.45.0 中,以下 API 已处于稳定阶段:

  • Arc::as_ptr

  • BTreeMap::remove_entry

  • Rc::as_ptr

  • rc::Weak::as_ptr

  • rc::Weak::from_raw

  • rc::Weak::into_raw

  • str::strip_prefix

  • str::strip_suffix

  • sync::Weak::as_ptr

  • sync::Weak::from_raw

  • sync::Weak::into_raw

  • char::UNICODE_VERSION

  • Span::resolved_at

  • Span::located_at

  • Span::mixed_site

  • unix::process::CommandExt::arg0

此外还增加了 char with ranges 来迭代代码点 (codepoint):

Rust 1.45.0 发布

详情查看 https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html

文章来源于互联网:Rust 1.45.0 发布

weinxin
【微信~支付宝~QQ】打赏
如果本文对你有所帮助,请打赏~1元就足够感动我
小笨

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: