Rust 1.34.0 发布

来源: OSCHINA
编辑: h4cd
2019-04-11 07:11:22

Rust 1.34.0 发布了,更新内容如下:

Language

  • 现在可以使用 #[deprecated = "reason"] 作为 #[deprecated(note = "reason")] 的简写。
  • 现在可以在 #[attr()]、#[attr[]] 和 #[attr{}] 过程宏中接收 token 流。
  • 现在可以用 extern crate self as foo; 引入 crate 根到外部 prelude。

Compiler

  • 现在可以编译成 riscv64imac-unknown-none-elf 与 riscv64gc-unknown-none-elf
  • 现在可以使用 -C linker-plugin-lto 启用链接器插件LTO优化,这允许 rustc 将 Rust 代码编译为 LLVM bitcode,从而允许 LLVM 跨 C/C++ FFI 边界执行 LTO 优化。
  • 可以编译成 powerpc64-unknown-freebsd

Libraries

  • 在 HashMap <K, V, S> 和 HashSet <T, S> 的一些基本方法中删除了 trait bound,直观体现是不再需要 Hash trait 来创建迭代器。
  • 在 BinaryHeap <T> 的一些基本方法中删除了 Ord trait bound。
  • overflowing_neg 和 wrapping_neg 方法现在是所有数字类型的 const 函数。
  • 索引 str 现在通用于实现SliceIndex <str> 的所有类型。
  • str::trim、str::trim_matches、str::trim_ {start, end} 和 str::trim_ {start, end} _matches 现在是 #[must_use],如果它们的返回类型未使用,将产生警告。
  • check_pow、saturating_pow、wrapping_pow 和 overflowing_pow 方法可用于所有数字类型。

此外还有 API 与其它杂项的更新,详细内容查看更新说明

展开阅读全文
点击加入讨论🔥(16) 发布并加入讨论🔥
本篇精彩评论
相信它一定辉煌起来的。
2019-04-11 08:54
7
举报

引用来自“有来有趣”的评论

感觉是一个叫好不叫座的语言

引用来自“Jason909”的评论

gc可用的情况下,rust没什么优势
有gc就不能成为系统级语言,和golang一样了。没有gc,还能内存安全才是rust的卖点
2019-04-11 16:03
6
举报

引用来自“shifeng1983”的评论

为了不手动回收,引入了所有权概念,结果发现不能实现链表,然后给自己填坑,引入了生命周期概念,还是去用c++吧

引用来自“matrix1986”的评论

1983年就老的学不动了啊?

引用来自“shifeng1983”的评论

有用的学,没用的东西学啥?

引用来自“matrix1986”的评论

..亚马逊都在用RUST写新一代容器了,竟然说没用,83年果然学不动了啊
编程语言榜前20的,每一个都有人大量使用,你每个全都会是吗,你赶紧学起来吧!
2019-04-11 15:08
2
举报

引用来自“shifeng1983”的评论

为了不手动回收,引入了所有权概念,结果发现不能实现链表,然后给自己填坑,引入了生命周期概念,还是去用c++吧

引用来自“matrix1986”的评论

1983年就老的学不动了啊?

引用来自“shifeng1983”的评论

有用的学,没用的东西学啥?
..亚马逊都在用RUST写新一代容器了,竟然说没用,83年果然学不动了啊
2019-04-11 13:58
2
举报

引用来自“shifeng1983”的评论

为了不手动回收,引入了所有权概念,结果发现不能实现链表,然后给自己填坑,引入了生命周期概念,还是去用c++吧
1983年就老的学不动了啊?
2019-04-11 11:30
1
举报
16 评论
6 收藏
分享
返回顶部
顶部