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
do. A follow-up on Trait-based exception handling RFC.
- Rust vs. C++: Fine-grained Performance.
- Stateful: A Rust experimental syntax extension for generators and more.
- Rust and BigData.
- Rust Guide to CHANGELOG.md.
- Rules-based Network programming with Mio and Rust.
- Eliminating the Garbage Collector: The RAII Way.
- These weeks in Servo 48.
- Rust for the web. RESTful API in Rust.
Notable New Crates & Project Updates
- clippy now has 100 different lints. clippy is a collection of lints to catch common mistakes and improve your Rust code.
- clap-rs 2.0 is released. Clap is a full featured, fast Command Line Argument Parser for Rust.
- Palette 0.2.0 is released. Palette is a Rust library for linear color calculations and conversion.
- scoped-pool. A flexible thread pool providing scoped and static threads.
- rusty-blockparser. Multi-threaded blockchain parser written in Rust language.
- kirk. A highly-flexible thread pool for Rust.
Updates from Rust Core
114 pull requests were merged in the last week.
- Implement unwinding for i686 MSVC.
- Explicitly disable stack execution on linux and bsd.
- Improve error message for non-exhaustive patterns.
- mk: Move from
- Implement RFC amendment 1462 (add
- Implement the translation item collector.
- std: Stabilize custom hasher support in HashMap.
- Update expression span when transcribing macro args.
- Cargo: Introduce cargo metadata subcommand.
- Cargo: Add convenience syntax to install current crate.
- Initial work towards abort-free compilation.
- Implement MultiSpan error reporting.
- Expect all help/note messages are specified in a cfail test.
- rustc_resolve: Refactor away NameBindings and ImportResolutionPerNamespace.
- Extend save-analysis to support generated code.
- Add support for the crosstool-ng Raspberry Pi 2 toolchain.
- Add support for mips(el)-unknown-linux-musl.
- Ali Clark
- Daan Sprenkels
- Thomas Wickham
- Tomasz Miąsko
- Vincent Esche
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
Final Comment Period
- Restrict constants in patterns.
- Amend RFC 1270 to describe actual implementation.
- Deprecate type aliases in
- Rust Language Server (IDE support).
- Add a
- Propose a design for specialization, which permits multiple
implblocks to apply to the same type/trait.
- Let specified generic type parameter lists be abbreviated.
- Add a
IndexAssigntrait that allows overloading "indexed assignment" expressions like
a[b] = c.
- Trait-based exception handling.
- 2/3. Rust Meetup in Cologne / Germany.
- 2/8. Seattle Rust Meetup.
- 2/10. OpenTechSchool Berlin: Rust Hack and Learn.
- 2/10. Rust Boulder/Denver Monthly Meeting.
- 2/11. Columbus Rust Society.
- 2/12. Embedded Rust Workshop Frankfurt.
- 2/15. Rust Paris.
- 2/15. Rust Sydney Meetup.
- 2/17. Rust Berlin: Leaf and Collenchyma.
fn work(on: RustProject) -> Money
- 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 herbie-lint, a miraculous compiler plugin to check the numerical stability of floating-point operations in the code. Another reason to have a nightly Rust handy.
Thanks to redditor protestor for the suggestion.
Quote of the Week
imo: the opinionated version of mio
Thanks to Steve Klabnik for the suggestion.