The secret life of std

  • You can call "text".parse::<T>() on all types T that impl std::str::FromStr for T
  • You can .collect() into a Result<T, E> where T: FromIterator
  • Formatting syntax (as in format!("{:#?}", vec!["lorem"])) is really powerful (it includes compile-time left pad!), you should read the fmt docs.

Wonders of Rust documentation

The ancient treasures of crates.io

  • custom_derive! in all its macro_rules! glory, by Daniel Keep
  • quick-error makes creating error enums easy
  • conv, a bunch of conversion traits that go beyond what std::convert offers, by Daniel Keep
  • difference.rs, a text diffing library with built-in diffing assertion, by Johann Hofmann
  • strsim: “Implementations of string similarity metrics. Includes Hamming, Levenshtein, Damerau-Levenshtein, Jaro, and Jaro-Winkler.” By Danny Guo. I can never remember this crate’s name!
  • itertools by bluss, because Iterators are awesome.
  • The contain-rs GitHub organisation which not only has a funny name but also a bunch of crates for various data structures. (While I have seen this crate, I’m still looking forward to popular, idiomatic, persistent data structures.)
  • quickcheck (and everything else) by Andrew Gallant
  • typenum, compile-time numbers in Rust, by Paho Lurie-Gregg and Andre Bogus.
  • timely dataflow, a low-latency cyclic dataflow computational model. Awesome stuff, like all the other projects by Frank McSherry.

The private life of Rust work in progress

  • futures-rs, a WIP implementation of future, promise, and (async) stream types, by Alex Crichton. Now public!
  • miri, an interpreter for Rust’s mid-level intermediate representation, by Scott Olson.