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, brson, and llogiq.

Updates from Rust Community

News & Blog Posts

Notable New Crates & Projects

  • Redox. A Rust Operating System.
  • Webrender. An experimental renderer for Servo that aims to draw web content like a modern game engine.
  • Coroutine I/O. Coroutine scheduling with work-stealing algorithm.
  • Rustation. PlayStation emulator in Rust.

Updates from Rust Core

102 pull requests were merged in the last week.

See the subteam report for 2015-10-02 for details.

Notable changes

New Contributors

  • Andreas Sommer
  • Dato Simó
  • James Bell
  • Jethro Beekman
  • Seeker14491
  • Ted Mielczarek
  • Will Speak
  • Willy Aguirre

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:

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 week, Crate of the Week is Itertools. Thanks go to llogiq for the suggestion. In his own words:

So today I'll write about Itertools. Because iterators in Rust are awesome, and this crates makes them even awesome-r. If you want to do something with iterators that seems to be slightly impossible using the std APIs, chances are Itertools already implements a way that is both fast and elegant. Knowing your itertools APIs will level up your Rust-fu.

For a (very small and simple) example, haven't you wished to zip two iterators, but don't stop iteration after the shorter iterator has run out? With Itertools you can just say x.zip_longest(y) and get an iterator of EitherOrBoth<X, Y>.

Quote of the Week

In programming (as opposed to politics), safety=freedom.llogiq on /r/rust.

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