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.
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.
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.
- Aleksey Kladov
- Hunan Rostomyan
- Jack Wilson
- John Thomas
- Jørn Lode
- Viacheslav Chimishuk
- Xiao Chuan Yu
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...yexpression to create an inclusive range.
- RFC 1229: Turn statically known erroneous code into a warning and continue normal code-generation.
Final Comment Period
- Expand the
std::netmodule to bind more low-level interfaces.
&'static mut T.
- Forbid wildcard dependencies on crates.io.
- References into
repr(packed)structs should be
- 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..
- Allow overlapping implementations for marker traits.
- Allow library authors to use a
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.
- 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.
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).