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
- This week in Servo 45.
- What is happening in Piston 2.
- Async IO in Rust (part III).
- Writing an OS in Rust: Remap the Kernel. Part of the series Writing an OS in Rust.
- Aha! Understanding lifetimes in Rust.
- Distributed rendering with Rust and Mio.
- Racer progress update. Changes and notes around Racer 1.1.0 release.
Notable New Crates & Project Updates
- rusty-machine. Machine Learning library for Rust.
- Shiplift. Rust interface for maneuvering docker containers.
- Hyperlocal. Hyper bindings for local unix domain sockets.
Updates from Rust Core
63 pull requests were merged in the last week.
Notable changes
New Contributors
- Aaron Keen
- Chris Buchholz
- Christoffer Buchholz
- Daniel Collin
- defyrlt
- Denis Kolodin
- est31
- James Mantooth
- Luke Jones
- Natha
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:
- Improve Cargo target-specific dependencies.
- Add a
IndexAssign
trait that allows overloading "indexed assignment" expressions likea[b] = c
. - Allow eliding more type parameters.
- Add an
alias
attribute to#[link]
and-l
.
New RFCs
- Add a replace_slice method to Vec
and String while removes a range of elements, and replaces it in place with a given sequence of values . - Implement a method,
contains()
, forRange
,RangeFrom
, andRangeTo
, checking if a number is in the range. - Add a byte escape
\e
as shorthand for 0x1B (ESC), similar to GCC's\e
. - Allow Drop types in statics/const functions.
Upcoming Events
- 1/11. Seattle Rust Meetup.
- 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/15. Rhein-Main Rust Meetup.
- 1/18. Rust Paris.
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
- Technical Lead/Manager at EBI Portfolios.
- Research Engineer - Servo at Mozilla.
- Senior Research Engineer - Rust at Mozilla.
- Multiple positions at IronNet Cybersecurity.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Crate of the Week
This week's Crate of the Week is rustfmt, because it's nice to Rust with style.
Submit your suggestions for next week!
Quote of the Week
I think the "standard library" is really (forgive me) a brand.
Thanks to llogiq for the belated suggestion.