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
- Rust on AWS Lambda.
- Async IO for Rust (part II).
- GC and Rust Part 0: Garbage collection background.
- GC and Rust Part 1: Specifying the problem.
- Lessons learned from Rust: The Result Monad in Ruby.
- Bare Metal Rust 3: Configure your PIC to handle interrupts correctly.
concat_idents!and macros in ident position.
- This week in Piston.
- This week in Servo 42.
- This week in Redox OS 6.
- [Russian] Software render in Rust: Cubic texture. (Translated version).
Notable New Crates & Projects
- nom 1.0 is released.
- Freepass. The free password manager for power users.
- Barcoders. A barcode encoding library for the Rust programming language.
- fst. Fast implementation of ordered sets and maps using finite state machines.
- Rusty Code. Advanced language support for the Rust language in Visual Studio Code.
- Dybuk. Prettify the ugly Rustc messages (inspired by Elm).
- Substudy. Use SRT subtitle files to study foreign languages.
Updates from Rust Core
99 pull requests were merged in the last week.
- RFC 1288: Add
- Detect confusing unicode characters and show the alternative.
- Rework stability annotation pass.
- Report errors at macro definition, not expansion.
- liballoc: implement
- Look up macro names as well when suggesting replacements for function resolve error.
- Ignore malformed environment strings like glibc does.
- Store items out-of-line in the HIR.
- Cargo: Make all working directories refer to
- crates.io: Allow per-crate max upload sizes.
- Alexander Bulaev
- Ashkan Kiani
- Devon Hollowood
- Doug Goldstein
- Jean Maillard
- Joshua Holmer
- Matthias Kauer
- Ole Krüger
- Ravi Shankar
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 1270:
- RFC 1268: Allow overlapping implementations for marker traits.
- RFC 1288: Improvements to the Time APIs.
- RFC 1300: Define the general semantics of intrinsic functions.
- RFC 1323: Amend
Final Comment Period
- Add thread-local custom panic handlers to customize the behavior of thread panics.
- Allow a custom panic handler.
- Document and expand the open options.
- Add an
- 11/25. Columbus Rust Society.
- 11/25. RustBerlin Hack and Learn.
- 12/1. Rust Sydney Meetup.
- 12/2. Boston: Concurrency in Rust Tutorial.
fn work(on: RustProject) -> Money
- Research Engineer - Servo at Mozilla.
- Senior Research Engineer - Rust at Mozilla.
- Open Source Software Engineer at MaidSafe.
- Systems Engineer 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 nom, a library of fast zero-copy parser combinators, which has already been used to create safe, high-performance parsers for a number of formats both binary and textual. nom just reached version 1.0, too, so congratulations for both the major version and the CotW status!