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.
What's cooking on master?
Now you can follow breaking changes as they happen!
- In types that implement
Drop, lifetimes must outlive the value. This will soon make it possible to safely implement
Dropfor types where
#[unsafe_destructor]is now required. Read the gorgeous RFC for details.
- The reserved keyword
be, for invoking guaranteed tail calls, has been replaced with
bewill remain in our hearts. RFC.
Selfis a keyword.
#[unsafe_no_drop_flag]is now under the
- Some float constants were renamed.
std::panicking. This is an unstable module dealing with unwinding, not likely to cause breakage.
- Objects now have default lifetime bounds, so you don't have
Box<Trait+'static>when you don't care about storing references. RFC.
- The new
std::processmodules have arrived! They are much the same as the old but follow new conventions as described in RFC 579 and RFC 739.
- On Unix Rust will soon be uninstallable by running
- Richo Healey added lints for putting
consts, as well as on private
#[no_mangle]only makes sense for things with public symbol names.
- eddyb endured an epic struggle with @bors to make borrows of constants
- Duane Edwards
- Geoffrey Thomas
- Hugo van der Wijst
- Jorge Israel Peña
- Mátyás Mustoha
- Michael Budde
- Pierre Baillet
- Renato Alves
- Thiago Carvalho
- Tim Cuthbertson
We'll catch up on RFCs next week.
Friend of the Tree
The Rust Team likes to occassionally recognize people who have made outstanding contributions to The Rust Project, its ecosystem, and its community. These people are 'friends of the tree'.
This week's friend of the tree was ... Jonathan Reem (reem)
Jonathan Reem has been making an impact on Rust since May 2014. His primary contribution has been as the main author of the prominent Iron web framework, though he has also created several other popular projects including the testing framework stainless. His practical experience with these projects has led to several improvements in upstream Rust, most notably his complete rewrite of the TaskPool type. Reem is doing everything he can to advance the Rust cause.
Quote of the Week
- 1.0 final timeline. Promises are made. HN. /r/rust. /r/programming.
- The "Author of Unix in Rust abandons Rust in favor of Nim" headline spread to /r/rust, /r/programming, and HackerNews. Everybody stay calm!
- What are Rust's exact auto-dereferencing rules? Valuable intel with which all rusticians should be equipped.
- The incredible rewards of creating a programming language. Creating a programming language is fun. Join us and have fun.
- Samsung OSG is hiring for Rust/Servo related work.
- Codius + Rust = ❤. Codius is creating some far-out smart contract things and Rust is part of the secure foundation.
- Hematite, our resident Minecraft clone from the Piston project, made the HackerNews rounds.
- Duck typing in Piston. Piston is possessed of some radical notions.
- The ACM SIGMOD programming competition welcomes Rust entries.
- License stats for crates.io. A surprisingly strong showing for the WTFPL.
- Rust needs net/http. And net/http needs Rust.
- First look at Cap'n Proto. Cap'n Proto for Rust is mega fast.
- Getting Rusty. Watch people code in Rust.
- rust-cbor. An implementation of Concise Binary Object Representation.
- xsv. A CSV swiss-army knife.
- rimd. Library for working with MIDI.
- rust-jack. Bindings to the Jack low-latency Linux audio API.
- stomp-rs, an implementation of the STOMP messaging protocol, has matured a lot in 6 months.
- timely-dataflow. An implementation of the low-latency dataflow model from Naiad.
- Trace Quest 5, the youtube series about building a raytracer in Rust, wrapped up its final episode.
- rust-ptrace: Wrapper for the
ptracesyscall, from Codius.
- bytes. A crate for working with bytes!
- RustAudio. A collection of crates for audio processing, from the mind of mitchmindtree.
- Helion. An Ambilight clone for making your TV produce ambient lighting in concert with the video. Watch the test video.
- rhex. A hexagonal roguelike with a live instance you can telnet into.
- comm: An alternate implementation of channels.
- This Week in Servo 23. With screenshots of Servo running on FxOS.
- syntex: Syntax extensions that work with stable Rust, from Erick Tryzelaar.