Rust 1.11 Announcement
We are pleased to present the new version of Rust 1.11. Rust is a system programming language aimed at safe work with memory, speed and parallel code execution.
As usual, you can install Rust 1.11 from the corresponding page of the official website, as well as familiarize yourself with a detailed list of changes in this version on GitHub. This release includes 1109 patches.
What is included in the stable version 1.11
In 1.11, we worked a lot on compiler internals that are not yet stable. We are pleased to announce that MIR will soon become the default translator, and we are taking the first steps towards incremental compilation . In release 1.11, we laid the foundation for this work.
As for the changes visible to users, in the latest release we talked about a new type of container - cdylib
.
The existing format of dynamic libraries isdylib
now used only for dynamic libraries used in projects in Rust, andcdylib
will be used when compiling code in Rust for embedding in other languages. In release 1.10, it iscdylib
supported by the compiler, but Cargo is not yet supported. This format was defined in RFC 1510.
So, in Rust 1.11, Cargo supports cdylibs ! By adding such code toCargo.toml
crate-type = ["cdylib"]
You will receive such a container.
In the standard library, we changed the default hash function from SipHash 2-4 to SipHash 1-3. We have been thinking about this for a long time, starting with the initial solution to use 2-4
:
we proposed SipHash-2-4 as a (strong) PRF / MAC, and so far no attacks have been found on it, although many competent people have tried to break it. However, fewer rounds may be enough, and I would be very surprised if SipHash-1-3 would be vulnerable when used in hash tables.
Remarks
You can read more about changes in the language as a whole in the release notes .
Library stabilization
BinaryHeap
,BTreeMap
AndBTreeSet
obtained by the methodappend
. Also addedsplit_off
forBTreeMap
andBTreeSet::split_off
.- Methods
to_degrees
andto_radians
have been implemented forf32
andf64
inlibstd
and before, and now they are available inlibcore
. - In
Iterator
two new methods:sum
andproduct
. Cell
andRefCell
got itget_mut
.assert_eq!
accepts a custom error message likeassert!
.- The main thread is now called "main" instead of "
" .
See the release notes for more details .
Cargo Features
- Cargo has added color support in the Windows console , and now you can set colors for stderr, not just stdout .
- Build scripts can now issue warnings .
- As we said above, support for containers like cdylib has been added .
- Cargo now prevents containers from being published if you have unsaved changes in the working copy .
See the release notes for more details .
Developers version 1.11
The release of version 1.11 involved 126 people. Thank you very much!
- 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
- Errick 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
- Leo 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 mcthur
- 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 escape
- Wangshan lu
- Will crrichton
- Without boats
- Wojciech nawrocki
- Zack M. Davis
- 吴 冉波