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.
Updates from Rust Community
News & Blog Posts
- My thoughts on Rust in 2016. By Nick Cameron.
- Making your open-source project newcomer-friendly.
- This Week In Servo 46.
- Compiling Rust to an Android target.
- ArcadeRS 1.11: Shooting bullets. Part of the series ArcadeRS 1.0: The project - a series whose objective is to explore the Rust programming language and ecosystem through the development of a simple, old-school shooter.
- GC and Rust part 2: The roots of the problem.
- [slides] Why I ❤ Rust. By Julia Evans.
- Discovering hardware topology in Rust.
- The scope of
- Two weeks of Rust - building a Memcache clone.
- Abstract return types, aka
- RustBelt: Logical Foundations for the Future of Safe Systems Programming.
Notable New Crates & Project Updates
- Robigalia. A Rust userland and POSIX layer built on seL4.
- Flac. An implementation of FLAC, free lossless audio codec, written in Rust.
- Imageproc. An image processing library, in Rust.
- Heroku Buildpack for Rust.
- YouCompleteMe now supports Rust. YouCompleteMe is a fast, fuzzy, as-you-type code-completion engine built originally for Vim.
Updates from Rust Core
61 pull requests were merged in the last week.
- Feature gate defaulted type parameters appearing outside of types.
- Cross item dependencies, take 2. Adds dependency graph for incremental compilation.
- libstd: unix process spawning: fix bug with setting stdio.
Wrapping<T>, etc. in
- [MIR] Refine representation and translation of calls.
- Refactor and improve:
- Anders Granlund
- Lawrence Woodman
- Matt Kraai
- Michael F. Lamb
- Mike Anderson
- Zach Panzarino
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
src/grammarfor the canonical grammar of the Rust language.
- Improve Cargo target-specific dependencies.
- Add a
IndexAssigntrait that allows overloading "indexed assignment" expressions like
a[b] = c.
- Allow eliding more type parameters.
- Add an
- Provide native support for C-compatible unions, defined via a new keyword
- Restrict constants in patterns.
- Add language support for bitfields.
- Variant types and untagged enums.
- Rewrite the
forloop desugaring to use language items instead of hardcoded paths.
- Extend atomic
- 1/12. Eat, Drink, Rust! San Diego Downtown Rust Meetup.
- 1/13. Copenhagen hackathon.
- 1/13. OpenTechSchool Berlin: Rust Hack and Learn.
- 1/13. Los Angeles Monthly Meetup - Happy New Year Hack Night.
- 1/14. Columbus Rust Society.
- 1/14. Rust São Paulo Meetup.
- 1/15. Rhein-Main Rust Meetup.
- 1/18. Rust Paris.
- 1/19. Rust Hack and Learn Hamburg @ Ponton.
- 1/21. SF Bay Area: Rust Concurrency and Parallelism.
fn work(on: RustProject) -> Money
- Rust Engineer at MaidSafe.
- Research Engineer - Servo at Mozilla.
- Senior Research Engineer - Rust at Mozilla.
- PhD and postdoc positions at MPI-SWS.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Crate of the Week
This week's Crate of the Week is crossbeam. This is a library of non-blocking data structures and synchronization primitives that makes writing concurrent programs easier and more efficient (both in terms of code and runtime).
Thanks to DroidLogician for the suggestion.
Quote of the Week
Rustaceans are not very imaginative at naming things.
We try! and try!, but sometimes, we Err.
Thanks to msiemens for the suggestion.