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::uninithas been renamed touninitialized, and everything inmemis either stable or deprecated (to be removed). There are a bunch of other changes tomemthat go with this.- All uses of
~strhave been removed. UnsafeArchas been removed, replaced withArc<Unsafe<T>>.Rng.choosenow returns anOption.Bitv::init_to_vechas been removed.- Test shards with the built-in test runner are now indexed by 1 in the CLI.
Result.unwrap_or_handlehas been renamed tounwrap_or_elsefor 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
unsafequalifier on struct fields - Guaranteed tail-call optimization
- Add syntax to partially destructure
selfin method signatures - Generalize
macro_registartoplugin_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