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: Vikrant and llogiq.
Updates from Rust Community
News & Blog Posts
- One year of Rust.
- Let's build a web server in Rust.
- Creating a basic webservice in Rust.
- Writing GStreamer plugins and elements in Rust.
- Writing a compiler plugin to instrument code.
- Our polyglot approach: Getting started with Rust.
- This week in Rust docs 4.
- This week in Parity 1.
- This week in RustFest 1: Introduction.
- This week in Ruma 2016-05-22.
- Plushie Rustacean pattern. Sew your own plush Rustacean toy!
New Crates & Project Updates
- Systemd Manager. A systemd service manager written in Rust with the GTK-rs wrapper and direct integration with dbus.
- FLAME. A flamegraph profiling tool for Rust.
- Jobsteal. A work-stealing fork-join threadpool written in Rust.
- pest. Simple, efficient parser generator.
Crate of the Week
This weeks Crate of the Week is parking_lot which gives us synchronization primitives (Mutex, RWLock, CondVar and friends) that are both smaller and faster than the standard library's implementations.
Submit your suggestions 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.
- [easy] rust: Participate in 2016 State of Rust Survey.
- [easy] redox: Participate in Redox Survey.
- [easy] clippy: Participate in Rust Clippy Survey.
- [easy] rust: Add error explanations for all error codes.
- [medium] rustup: Make
rustup default x86_64-unknown-linux-gnu
do something smarter. - [easy] servo: Add icon to Servo on Windows.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
117 pull requests were merged in the last two weeks.
- macro expression spans fixed
#[rustc_on_unimplemented = _]
now does fuzzy matching- fixes for old error style, improvements for new
- more new-style error reporting improvements
- Macro expansion diagnostics improvements
hir::Ident
andExplicitSelf
removed (requires lint writers to rustup)- new crate type
cdylib
(for lean libs to embed in C) - replace obligation forest with graph
- incremental compilation: Track deps across crates
- float parsing fixed on x87
HashMap::new()
speedups via thread-local storage- extended warning for unsoundness with elided associated type lifetimes
EscapeUnicode::last()
and other specializations- Backport an unsoundness fix in libbacktrace
New Contributors
- Daniel Campoverde [alx741]
- mark-summerfield
- Postmodern
- Rémy Rakic
- Robert Habermeier
- Val Vanderschaegen
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
- regex 1.0.
- Add a compiler flag that emits crate dependencies on a best-effort basis.
- Omit
'static
lifetimes to reference or generics lifetime values instatic
orconst
declarations. - Let a
loop { ... }
expression return a value viabreak my_value;
. - Specify Rust compatibility of nursery crates.
- Remove the one-type-only restriction on
format_args!
arguments.
Upcoming Events
- 5/24. Rust Brisbane Meetup #1.
- 5/24. Rust Barcelona - Cross compiling for ARM linux targets + accessing the GPIO in a Raspberry Pi.
- 5/25. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 5/25. Boston Rust Meetup w/ Steve Klabnik and Andrew Gallant.
- 5/26. Tokyo Rust Meetup #5.
- 5/26. Rust DC - Inaugural Meetup.
- 6/1. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 6/1. OpenTechSchool Berlin: Rust Hack and Learn.
- 6/6. Cologne / Germany: Rust Anniversary Meetup - Part II.
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!
Quote of the Week
No quote was selected for QotW.