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 a pull request. 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.

Blog Posts

Other Weeklies from Rust Community

New Crates

app_dirs. Put your app's data in the right place on every platform.

Spongedown converts markdown to html with support for svgbob diagrams.

loc. A tool for counting lines of code. It's a Rust implementation of cloc, but it's more than 100x faster.

cargo-update. A cargo subcommand for checking and applying updates to installed executables.

rustbreak - a daybreak inspired self-contained file database.

Crate of the Week

This week's Crate of the Week is app_dirs. app_dirs lets you put your app's data in the right place on every platform.

Submit your suggestions and votes for next week!

Call for Participation

Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!

Some of these tasks may also have mentors available, visit the task page for more information.

If you are a Rust project owner and are looking for contributors, please submit tasks here.

88 pull requests were merged in the last week.

New Contributors

Bunts Thy Unholy

Federico Mena Quintero

iirelu

Konrad Borowski

loggerhead

msiglreith

Pieter Frenssen

Vadzim Dambrouski

Zoffix Znet

Approved RFCs

Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:

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

Style RFCs

Style RFCs are part of the process for deciding on style guidelines for the Rust community and defaults for Rustfmt. The process is similar to the RFC process, but we try to reach rough consensus on issues (including a final comment period) before progressing to PRs. Just like the RFC process, all users are welcome to comment and submit RFCs. If you want to help decide what Rust code should look like, come get involved!

PRs:

Issue 17 (comments) is ready for a PR, we'd love someone to help out with that, if you're interested ping someone in #rust-style.

Final comment period:

New P-high issues:

Upcoming Events

If you are running a Rust event please add it to the calendar to get it mentioned here. Email the Rust Community Team for access.

fn work(on: RustProject) -> Money

Tweet us at @ThisWeekInRust to get your job offers listed here!

Quote of the Week

Every once in a while someone discovers a bug in librsvg that makes it all the way to a CVE security advisory. We've gotten double free()s, wrong casts, and out-of-bounds memory accesses. Recently someone did fuzz-testing with some really pathological SVGs, and found interesting explosions in the library. That's the kind of 1970s bullshit that Rust prevents.

— Federico on porting librsvg to Rust.

Thanks to /u/robinst and /u/cjstevenson1 for the suggestion.

Submit your quotes for next week!

This Week in Rust is edited by: nasa42, llogiq, and brson.