A modern alternative to C and C++ for system programming.


Articles / Talks



Online books


Experience reports

Papers / reports

Videos / Talks


Learning Resources



Source code to study

Libraries and tools



To study code, library usage etc.,

Command Line Tools in Rust: See also: Common *nix commands written in Rust – gcollazo

Editor setup


Memory Management

References and borrowing


Async / Await



This book is an “introductory course” on microcontroller-based “embedded systems” that uses Rust as the teaching language rather than the usual C/C++.

Comparisons (Rust vs X)




Installing a package that is not on crates.io: cargo install -f --git https://github.com/cjbassi/ytop ytop

Best Practices / Tips

Hardware / bare metal

Rust vs Python

Rust vs Java for rest services

via reddit

I gave a talk (video) today about “Rust for Java programmers” at my local java users group. Part of the talk was comparing the implementation of a minimal rest service in a container for the following 4 approaches:

  1. Payara-micro (JEE/JAXRS)
  2. Wildfly-swarm (another JEE/JAXRS micro deploy)
  3. Javaspark (non JEE “lightweight” framework)
  4. Rust-rocket

The comparisons are striking, viewed in the same 1/2/3/4 sequence above:

Nice job, Rocket! (results are unscientific. fight me) – Source code

Success Stories

We had a similar challenge supporting sending this many notifications at OneSignal, which we solved using Rust. We recently hit a peak of 850 Million notifications per second, and 5 billion notifications per day. Here’s a blog post on how we do it. Written back when we were at “only” 2 billion notifications per week: https://onesignal.com/blog/rust-at-onesignal/

Rolling log of things


There is a new book – Programming Rust by Jim Blandy, and Jason Orendorff. Jim Blandy has also written a concise short book Why Rust [PDF]

Rust is currently unable to call directly into a C++ library; so that way Rust is probably behind D.

Rust, by design, makes certain programming patterns more painful than others. This is a GOOD thing! It turns out that, for game development, the patterns that end up being the easiest to deal with in Rust closely mirror the patterns that are easiest for game development in any language. Rust highly rewards data-oriented design with simple, understandable ownership semantics, and this is great news because this is a really good fit for game development.

See also: Rust 2018, Rustbelt Rust 2017