Crate of the Week


Automatically generating railroad diagrams for syntax used in Rust macros:

IMHO it’s fantastic idea — that’s how macros should be documented!


jRust - A Rust macro that parses Java-like syntax and runs it as a Rust program.


wasm-bindgen-futures - Seamlessly converting between JavaScript Promises and Rust Futures.


This is absolutely fantastic!

It even has an online demo:


I’m going to nominate . It’s far from complete, but they’ve consolidated behind one implementation. Looks like there’s plenty of easy starting places for people to pitch in and help.


Can I propose too ? for the next week ? :slight_smile:


Hey, I’d like to propose my linux desktop theme manager if that’s ok. It’s not hugely technologically complicated(except perhaps for the online features), but I think it’s a good example of an userspace application that benefits from being written in Rust.


@Kero, @nicohman:
Yes sure, you can propose any crate that you want.


easy_reader: “Move forward, backward or randomly through the lines of huge files. Easily and fastly.”


slotmap: “A Rust library providing two containers with persistent unique keys to access stored values”. Good for game entities or graph nodes.


froggy: “Froggy is a prototype for Component Graph System”. Also good for game entities.


generational-arena: “A safe arena allocator that allows deletion without suffering from the ABA problem by using generational indices.” Again this is good for game entities or graph nodes.


spin-sleep: providing a very accurate sleep() function as well as a LoopHelper which is really handy. The author puts quite some effort into measuring a lot on different platforms (see here).


Crate of the week suggestion: . Attempts to summarize licenses of crates you depend on.


cgroups: “Native Rust library for managing control groups under Linux”.

I’m nominating this because it unlocks the ability to start writing lightweight Docker-like libraries in Rust for Linux!


failsafe (reddit thread) - Wrap function in a supervisor that prohibits execution (returns error early) for some time in case of consequtive failures of the wrapped function.


I was just told about cargo-src.


mdproof: “A standalone markdown to PDF converter”


mtpng: "A parallelized PNG encoder in Rust "


smallbox: Small Box optimization: store small item on the stack and fallback to heap for large item.