Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Tweet us at @ThisWeekInRust or send us an email! Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
This week's edition was edited by: nasa42 and llogiq.
From the Blogosphere
- Designing a GC in Rust.
- Rusty Radio: Episode 3. Who Develops the Developer Tools? Featuring Phil Dawes (Racer), Nathan Sobo (Atom), and Christian Hergert (Builder).
- Combine 1.0.0 and a simple INI parser.
- Boilerplate Beginning - Piccolo Part 1. Writing a key-value store in Rust.
- Clippy vs. Rust. Running Clippy on rustc and stdlib.
rust-gnome
is nowGtk-rs
.
New Releases & Project Updates
- swiboe. The text editor for the next 25 years.
- cargo-clippy - runs clippy on the current project.
- ring. Simplified libcrypto (from BoringSSL) for Rust, C/C++, etc.
- Ideone added support for Rust.
- Pipeline. A macro collection to pipe your functions calls, like in F# or Elixir.
What's cooking on nightly?
114 pull requests were merged in the last week.
See the subteam report for 2015-09-04 for details.
New Contributors
- Aleksey Kladov
- AlexDenisov
- benshu
- christopherdumas
- Hunan Rostomyan
- Jack Wilson
- John Thomas
- Jørn Lode
- Viacheslav Chimishuk
- Xiao Chuan Yu
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 953: overloaded assignment operations
a += b
. - RFC 1135: Implement raw fat pointer comparisons.
- RFC 1192: Allow a
x...y
expression to create an inclusive range. - RFC 1229: Turn statically known erroneous code into a warning and continue normal code-generation.
Final Comment Period
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. This week's FCPs are:
- Expand the
std::net
module to bind more low-level interfaces. - Add
Box::leak
to leakBox<T>
to&'static mut T
. - Forbid wildcard dependencies on crates.io.
- References into
repr(packed)
structs should beunsafe
. - Revise the Drop Check (
dropck
) part of Rust's static analyses. - Update the RFC process with sub-teams, amongst other things..
- Lay the ground work for building powerful SIMD functionality..
New RFCs
- Allow overlapping implementations for marker traits.
- Allow library authors to use a
#[deprecate]
attribute.
Crate of the Week
This is a new part of this weekly installation, where we will write about a crate that some of you may not know. Please nominate a crate of your choice at the rust-users thread so we can write about it next week.
For this first installment, the most votes went to Serde. Despite many of you probably knowing it, we accepted the popular vote because of the great benefit those who don't yet know it may get. Thanks go to bstrie for the suggestion.
Serde (de)serializes arbitrary Rust data to a number of formats, including JSON, XML, YAML, Bincode and MessagePack. It is possible to write encoder/decoder pairs to work with Serde that don't need to know too much about Rust objects, and Rust data structures only need a pair of auto-derived traits to work with Serde. Now what can one use serializaton for? Storing Rust objects in files or database blobs, sending them between processes, over language-barriers or over the network, for one.
In short, Serde is the Rust framework for your (de)serialization needs.
Upcoming Events
- 9/14. Seattle Rust Meetup.
- 9/15. San Diego Rust Meetup #8.
- 9/17. Rust Meetup Hamburg: Show, Tell and Drink.
- 9/21. Rust Paris.
- 9/23. Columbus Rust Society.
If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.
fn work(on: RustProject) -> Money
No jobs listed for this week. Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
"[Rust] the language had to dedicate so much real estate to this (difficult) problem alone, it became a disharmonic creature with one bulging muscle and little of anything else." — Andrei Alexandrescu (one of designers of D).
Thanks to llogiq for the tip. Submit your quotes for next week!.