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

Notable New Crates

  • rustlings. Small exercises to get you used to reading and writing Rust code. Includes practice reading and responding to compiler messages!
  • LALRPOP - an LR(1) parser generator for Rust.
  • Cuprum Pi. A GPIO access library written on Rust for the Raspberry Pi.
  • hostblock. Rust cli app for managing sites blocked via the hosts file.
  • Tokei. A CLOC (Count Lines Of Code) program, written in Rust.
  • rust.fish. Tab completions for rustc and cargo in fish shell.
  • rust-xdg. A library that makes it easy to follow the X Desktop Group specifications.

Updates from Rust Core

116 pull requests were merged in the last week.

Notable changes

New Contributors

  • Bastien Dejean
  • Colin Wallace
  • David Szotten
  • Dongie Agnir
  • Michael McConville
  • Peter Reid
  • whitequark

Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation 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:

New RFCs

Upcoming Events

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 lazy_static. Thanks go to stebalien for the suggestion.

This week's Crate of the Week does something some won't know is possible, and does it in a natural way. You know how in some languages you have to run through hoops to correctly lazily instantiate stuff? Not in Rust, for thanks to the lazy_static crate you just put your static values inside a lazy_static! { ... } block, pay a modest runtime cost on lookup and be done.

Btw, this aligns very well with the C++ adage "... and what you pay for, you couldn't have written any better".

Quote of the Week

Transmute is taking a dog, sawing its front legs off, gluing on a pair of buffalo wings and telling it it's a duck so it damn well better start quacking You should not be surprised when you end up with a pile of gore and a dead dog instead of an actual duck :-P — Quxxy

Thanks to Ms2ger for the tip. Submit your quotes for next week!.