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? Send me an email! Want to get involved? We love contributions.
This week's edition was edited by: Brian Anderson.
- A graph-based higher-order intermediate representation. A novel intermediate representation for a dialect of Rust.
- Interview with Mozilla's Aaron Turon.
- Out of curiosity - Who is currently focusing on improving compile times? If so, how is it coming along?. People are working on compile time.
- Hodor esolang as a Rust macro.
- dispatcher. Many-to-many channels.
- 'When you have no room for error'. The CommitStrip comic mentions Rust.
- Fundraiser for a multi-language (incl. Rust) teaching tent at Chaos Communication Camp.
- Homu, a gatekeeper for your commits. Barosl is now offering homu-as-a-service. This is the CI system Rust and Servo both use, and it is compatible with Travis CI.
- rustorm. A simple ORM.
- snake-piston. A snake game written with Piston.
- yaml-rust. A pure-Rust YAML 1.2 parser.
- crust. Reliable p2p with NAT traversal.
- aho-corasick. Fast multi-substring nmatching.
- pcapng-rs. A pcapng parser written with nom.
- deuterium. A fully-typed SQL query builder.
- regex. It got faster. A lot faster.
What's cooking on master?
160 pull requests were merged in the last week.
Now you can follow breaking changes as they happen!
- Prevent raw pointers from being used as explicit self. Probably nobody has ever tried to write such code, and the current implemented behavior is bonkers.
CString::from_ptr/into_ptr. For transfering ownership of C strings across the FFI.
- Stabilize a number of new
- Parallel code generation works
rustc -C codegen-units=4to try.
to_lowercasefunctions now support complex case mapping. This changes the behavior of the stable
char::to_uppercase/to_lowercaseand also stabilizes
Extend<&T> where: T: Copyfor a variety of collection types.
- The unstable
String::from_stris deprecated. Use
- Heuristics for detecting identifier typos are improved.
- ben fleis
- David Voit
- Eli Friedman
- Johann Tuffe
- Joshua Landau
- Leo Correa
- Marcel Müller
- Matthew Astley
- Nathan Long
- Nick Fitzgerald
- Russell McClellan
- RFC 1105. Policy on API evolution. Describes how the Rust project evaluates changes to the libraries, and which are allowed when.
- RFC 1119.
- RFC 1122. Semantic versioning. Describes how the language itself is allowed to change.
- RFC 1123. Introduce
- RFC 1131.
likelyintrinsic. For hinting hot and cold branches.
- Adjust default object bounds. This fixes some dumb rules that made it into 1.0, but is a breaking change that affects relatively little code.
- Expand the
Quote of the Week
<Quxxy> I had a fun one in cargo script: there's currently no way in Rust to get a file's mtime and the system time in the same time format <Quxxy> (On Windows) <Quxxy> You can get one in UNIX time, the other in Windows time <Quxxy> Which have different scales and different epochs <Quxxy> Rust: Buy Your Own Damn Batteries; What Are You, A Communist?
Quxxy discovers Rust's stance toward the inclusion of batteries.
Thanks to cmr for the tip. Submit your quotes for next week!.