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.
From the Blogosphere
- Dealing With the Rust Shift in Perspective.
- rusty radio: Episode 1: A Rusty Start.
- Rust, the Language for Growth.
Tips & Tricks
- How to Use Rust with Node.js When Performance Matters. Write performance critical code in Rust and use it via FFI in Node.js.
- Effectively Using Iterators In Rust. Iterate over vector and slice types using
.iter()
and.into_iter()
. - First Rust Program Pain (So you can avoid it…). Tips for Rust beginners on how to avoid a fight with the compiler.
- Implement Traits on Generics.
- The Unsafe Rust Programming Language. An excellent document about advanced functionality and low-level development practices in the Rust Programming Language.
In the News
New Releases & Project Updates
- rust-timsort. Rust implementation of the modified MergeSort used in Python and Java.
- trust. Rust automated test runner.
- mongo-rust-driver. Mongo Rust driver built on top of the Mongo C driver.
- rust-ffi-omnibus. A collection of examples of using code written in Rust from other languages.
- hyper is now at v0.6. An HTTP/S library for Rust.
- rust-throw. A new experimental rust error handling library, meant to assist and build on existing error handling systems.
- burrito. A monadic IO interface in Rust.
- mimty. Fast, safe, self-contained MIME Type Identification for C and Rust.
What's cooking on master?
95 pull requests were merged in the last week.
Breaking Changes
Now you can follow breaking changes as they happen!
Other Changes
- std: Add support for Windows XP.
- Reset signal behavior before starting children with std::process. Resets Rust's SIGPIPE handler, as well as any signal mask that may have been set, before spawning a child.
- MSVC: Implement runtime support for unwinding. A key aspect is missing, however, which is that unwinding is still turned off by default for MSVC.
- Suggest missing trait bounds when a method exists but the bounds aren't satisfied.
New Contributors
- Andy Grover
- Brody Holden
- Christian Persson
- Cruz Julian Bishop
- Dirkjan Ochtman
- Gulshan Singh
- Jake Hickey
- Makoto Kato
- Yongqian Li
Final Comment Period
Every week the teams announce a 'final comment period' for RFCs which are reaching a decision. Express your opinions now. This week's RFCs entering FCP are:
- Add some of
[T]
’s methods to strings and vice versa. - Implement
FromIterator
for the unit type. - Rename
connect
tojoin
. - Add
read_into_buf
andget_buf
toBufRead
. - read_all.
- Allow macros in types.
- Allow closure expressions to expand to a
&
or&mut
temporary.
New RFCs
Upcoming Events
- 7/7, San Diego Rust Meetup
- 7/8, Rust in Production - San Francisco
- 7/13, Seattle Rust Meetup
- 7/15, Rust Los Angeles Monthly Meetup
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.