Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safe, concurrent, and fast. This is a weekly summary of its progress and community. Want something mentioned? Send me an email! Want to get involved? We love contributions.
What's cooking on master?
66 pull requests were merged this week.
Breaking Changes
mem::uninit
has been renamed touninitialized
, and everything inmem
is either stable or deprecated (to be removed). There are a bunch of other changes tomem
that go with this.- All uses of
~str
have been removed. UnsafeArc
has been removed, replaced withArc<Unsafe<T>>
.Rng.choose
now returns anOption
.Bitv::init_to_vec
has been removed.- Test shards with the built-in test runner are now indexed by 1 in the CLI.
Result.unwrap_or_handle
has been renamed tounwrap_or_else
for consistency withOption
.- Some miscellaneous renames in libcollections.
- rustc is more strict about
where it will accept a given
mod foo;
statement.
Other Changes
There were a lot of various bugfixes and documentation additions all around.
- There is now support for weak failure.
- The docs for the cell types has been massively improved.
bytes!()
now properly returns a static slice.- A liballoc has materialized, that contains all allocation support
New Contributors
- Anton Löfgren
- Jihyeok Seo
- Jonathan Bailey
- Michael Dagitses
- P1start
- TyOverby
- Valerii Hiora
RFCs
- Allow the
unsafe
qualifier on struct fields - Guaranteed tail-call optimization
- Add syntax to partially destructure
self
in method signatures - Generalize
macro_registar
toplugin_registrar
- Bounds on trait objects should be separated with +
- Macro syntax to count sequence repetitions
- Loadable lints
- Lexer syntax simplification
Community Updates
- Guaranteeing Memory Safety in Rust (a talk by Niko)
- Approaches to resource disposal
- Introducing js.rs
- Practicality with Rust: Setting Up A Project
- Burn, a programming language implemented in Rust
- Rust for C++ programmers - part 7: data types
- cxx2rust: the pains of wrapping C++ in Rust on the example of Qt5
- Add a new language design faq
- rspt: a physically based renderer