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.
Updates from Rust Community
News & Blog Posts
- Why Rust?. Free ebook by Jim Blandy (published by O’Reilly Media).
- “The Rust Programming Language” to be published by No Starch Press. All profits from the book will go to OpenHatch.
- Parser Combinator Experiments in Rust - Part 3: Performance and impl Trait.
- Building a Build System: Bazel reaches Beta. Includes support for Rust.
Notable New Crates
- TRust-DNS. A Rust based DNS server.
- mio-websockets. Asynchronous websocket server library.
- Crabby. Chess Engine written using the Rust programming language.
- sprs. Sparse linear algebra library for Rust.
- oak. A typed parser generator embedded in Rust code for Parsing Expression Grammar.
- cbor. Serde CBOR Serialization Library.
- ease. A library for writing REST API clients.
- rust-bloom-filter. A fast Bloom filter implementation in Rust.
- rust-nats. A Rust client library for the NATS message queue.
Updates from Rust Core
79 pull requests were merged in the last week.
Notable changes
- Error Handling guide is rewritten from scratch.
- Rust 1.4 deprecates some and stabilises many APIs.
- jemalloc is updated to 4.0.0 and LLVM to 3.7.
- Comparing raw pointers no longer crashes.
New Contributors
- Andre Bogus
- Dong Zhou
- Ryo Munakata
- Simon Mazur
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week!
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
Upcoming Events
- 9/15. San Diego Rust Meetup #8.
- 9/16. RustBerlin Hack and Learn.
- 9/17. Rust Meetup Hamburg: Show, Tell and Drink.
- 9/21. Rust Paris.
- 9/23. Columbus Rust Society.
- 9/28. Rust Sydney Meetup.
- 9/30. RustBerlin Hack and Learn.
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!
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.
This week, Crate of the Week is clap. Thanks go to eternaleye for the suggestion.
Quoting eternaleye verbatim:
I'm going to say kbknapp's clap crate - I have never, in any language I have ever worked in, had an argument parsing library that was so completely painless. I've found it especially nice for mocking up the skeleton of a tool where all roads lead to panic!(), then splitting it up further and further, pushing the panic!()s down the branching logic of what to actually do, until a whole utility has appeared from nowhere.
Quote of the Week
On #rust
IRC
03:46 < durka42> rust has a culture of small crates
03:47 < XMPPwocky> a Cargo cult, if you will
Thanks to Manishearth for the tip. Submit your quotes for next week!.