Rust 团队很高兴地宣布 Rust 的最新版本 1.11。Rust 是一种专注于安全性、速度和并发性的系统编程语言。
与往常一样,您可以从我们网站上的相应页面安装 Rust 1.11,并查看 GitHub 上1.11 的详细发行说明。此版本中包含了 1109 个补丁。
1.11 稳定版中的新特性
1.11 中的大部分工作都集中在尚未稳定的编译器内部。我们对 MIR 成为默认和 增量编译的开始等功能感到兴奋,而 1.11 版本已经为此奠定了基础。
至于面向用户的更改,上一个版本中,我们谈到了新的 cdylib
crate 类型。
现有的 dylib 动态库格式现在将仅用于编写在 Rust 项目中使用的动态库,而 cdylibs 将用于将 Rust 代码编译为要嵌入到另一种语言中的动态库。在 1.10 版本中,编译器支持 cdylibs,但 Cargo 尚不支持。此格式在 RFC 1510 中定义。
在 Rust 1.11 中,Cargo 中添加了对 cdylibs 的支持!通过将以下内容添加到您的 Cargo.toml
中
crate-type = ["cdylib"]
您将获得一个构建版本。
在标准库中,默认的哈希函数已从 SipHash 2-4 更改为 SipHash 1-3。我们已经考虑这个问题很长时间了,可以追溯到最初决定使用 2-4
我们提出了 SipHash-2-4 作为(强大的)PRF/MAC,到目前为止,虽然许多有能力的人试图破解它,但没有发现任何攻击。但是,更少的轮次可能就足够了,如果 SipHash-1-3 引入哈希表的弱点,我会感到非常惊讶。
有关更多信息,请参阅详细的发行说明。
库的稳定化
append
方法已添加到BinaryHeap
、BTreeMap
和BTreeSet
。此外,split_off
已添加到BTreeMap
和BTreeSet::split_off
。to_degrees
和to_radians
方法之前在libstd
中的f32
和f64
类型上,但它们现在也在libcore
中。Iterator
有两个新方法:sum
和product
Cell
和RefCell
都获得了get_mut
。assert_eq!
接受自定义错误消息,就像assert!
一样.- 主线程现在被命名为 "main" 而不是 "<main>"。
有关更多信息,请参阅详细的发行说明。
Cargo 功能
- Cargo 为 Windows 控制台添加了颜色支持,现在您还可以配置 stderr 以及 stdout 的颜色。
- 构建脚本现在可以发出警告.
- 如上所述,添加了对 cdylib crate 类型的支持。
- Cargo 现在在文件被修改时阻止发布 crates。
有关更多信息,请参阅详细的发行说明。
1.11 的贡献者
共有 126 人为 1.11 做出了贡献。非常感谢!
- Aaklo Xu
- Aaronepower
- Aleksey Kladov
- Alexander Polyakov
- Alexander Stocko
- Alex Burka
- Alex Crichton
- Alex Ozdemir
- Alfie John
- Amanieu d'Antras
- Andrea Canciani
- Andrew Brinker
- Andrew Paseltiner
- Andrey Tonkih
- Andy Russell
- Ariel Ben-Yehuda
- bors
- Brian Anderson
- Carlo Teubner
- Carol (Nichols || Goulding)
- CensoredUsername
- cgswords
- cheercroaker
- Chris Krycho
- Chris Tomlinson
- Corey Farwell
- Cristian Oliveira
- Daan Sprenkels
- Daniel Firth
- diwic
- Eduard Burtescu
- Eduard-Mihai Burtescu
- Emilio Cobos Álvarez
- Erick Tryzelaar
- Esteban Küber
- Fabian Vogt
- Felix S. Klock II
- flo-l
- Florian Berger
- Frank McSherry
- Georg Brandl
- ggomez
- Gleb Kozyrev
- Guillaume Gomez
- Hendrik Sollich
- Horace Abenga
- Huon Wilson
- Ivan Shapovalov
- Jack O'Connor
- Jacob Clark
- Jake Goulding
- Jakob Demler
- James Alan Preiss
- James Lucas
- James Miller
- Jamey Sharp
- Jeffrey Seyfried
- Joachim Viide
- John Ericson
- Jonas Schievink
- Jonathan L
- Jonathan Price
- Jonathan Turner
- Joseph Dunne
- Josh Stone
- Jupp Müller
- Kamal Marhubi
- kennytm
- Léo Testard
- Liigo Zhuang
- Loïc Damien
- Luqman Aden
- Manish Goregaokar
- Mark Côté
- marudor
- Masood Malekghassemi
- Mathieu De Coster
- Matt Kraai
- Mátyás Mustoha
- M Farkas-Dyck
- Michael Necio
- Michael Rosenberg
- Michael Woerister
- Mike Hommey
- Mitsunori Komatsu
- Morten H. Solvang
- Ms2ger
- Nathan Moos
- Nick Cameron
- Nick Hamann
- Nikhil Shagrithaya
- Niko Matsakis
- Oliver Middleton
- Oliver Schneider
- Paul Jarrett
- Pavel Pravosud
- Peter Atashian
- Peter Landoll
- petevine
- Reeze Xia
- Scott A Carr
- Sean McArthur
- Sebastian Thiel
- Seo Sanghyeon
- Simonas Kazlauskas
- Srinivas Reddy Thatiparthy
- Stefan Schindler
- Steve Klabnik
- Steven Allen
- Steven Burns
- Tamir Bahar
- Tatsuya Kawano
- Ted Mielczarek
- Tim Neumann
- Tobias Bucher
- Tshepang Lekhonkhobe
- Ty Coghlan
- Ulrik Sverdrup
- Vadim Petrochenkov
- Vincent Esche
- Wangshan Lu
- Will Crichton
- Without Boats
- Wojciech Nawrocki
- Zack M. Davis
- 吴冉波