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!
- Inspect enum discriminant after calling its destructor
- Add downcasting to std::error::Error
- dropck: Remove
Copyfrom special-cased traits
- std: Remove index notation on slice iterators
- Implement associated constants
- Expand the area of std::fs
- Experimental MUSL target support
- Implement Vec::drain from RFC 574
- Add single-threaded fence intrinsics
- Provide a Default implementation for AtomicPtr
- std: Fix inheriting standard handles on windows
- Add intrinsics for unchecked division and modulo
- robinst, bguiz and michaelsproul landed more extended error diagnostics: 1, 2, 3.
- derive: Give access to field attributes in ext::deriving
- Implement String::drain(range) according to RFC 574
- Brendan Graetz
- Carol (Nichols || Goulding)
- Dominic van Berkel
- Jan Bujak
- J Bailey
- Jordan Humphreys
- Poga Po
- Xuefeng Wu
- Guaranteed non-static dtors
- Add unsafe Option::unwrap_unchecked
- Remove static_assert
- Policy on semver and API evolution
The current beta is
rustc 1.0.0-beta.4 (850151a75 2015-04-30).
There were 2 PRs this week landing backports to beta.
- Where Rust really shines
- Using the
- A Rust contributor tries their hand at Go
- On reference counting and leaks and a few more remarks.
- Rust web lessons based on nickel.rs and Angular.js. A tutorial on using nickel.
- Helping Travis catch the rustc train and Travis on the train, part 2.
- rustfmt - help wanted
- I got Rust working on a $13 ARM micro controller board. Here are my notes from the process
- Evaluation of performance and productivity metrics of potential programming languages in the HPC environment. MrFloya's bachelor's thesis.
- A journey into iterators
- Abomonation: terrifying serialization
- Weekly meeting 2015-04-28. Snapshots, transmute, static_assert.
- Core team meeting 2015-04-29. Optimizing by default, mem::forget, Debug builders, security policy.
- Piston - skeletal animations with dual-quaternions. Video.
- hprof. A simple hierarchical profiler.
- Baby steps at procedural tile generation in kvarkus's Claymore.
- Google APIs for Rust - Dev Diary #2: Making CLIs (video)
- extra_lints. More lints!
- RustyAndroid. Sample Rust Android application.
- Servo continues pushing forward
- Racer on Rust beta!
- Horrorshow. An HTML templating macro.
- rust-chunked-transfer. Encoder and decoder for HTTP chunked transfer.
- kademlia-rs. A Rust implementation of the Kademlia DHT.
- May 5. San Diego
- May 11. Seattle
- May 15. Amsterdam
- May 15. Berlin
- May 15. Boston
- May 15. Columbus Rust Society
- May 15. Copenhagen
- May 15. Florence (@develer)
- May 15. Florence (@Unifi)
- May 15. London
- May 15. Los Angeles
- May 15. Madrid
- May 15. Moscow
- May 15. Munich
- May 15. NYC
- May 15. Paris
- May 15. Pittsburgh
- May 15. Portland
- May 15. San Francisco
- May 15. Toronto
- May 15. Washington, DC
- May 15. Warsaw
- May 16. Chengdu
- May 16. Seoul
- May 16. Tokyo
- May 19. Sydney
- May 22. Lambdaconf. Boulder, CO. Jared Roesch - "Who got types in my systems programming?"
- May 23. Bangalore
Quote of the Week
"Ultimately, I think this all boils down to the fact that borrowck only cares about reachable values. A leaked value isn't reachable, therefore it doesn't matter that it had a lifetime associated with it and technically outlives that lifetime, since it's not reachable no undefined behavior can be invoked."
Thanks to Gankro for the tip. Submit your quotes for next week!.