Crate of the Week

transfer: 'Transfer' is to 'move' what 'Clone' is to 'copy'

genawaiter: Use generators on stable Rust

Could we show MeiliDB, an instant, relevant and typo-tolerant search engine?

Given the announcement of the Bytecode Alliance around WebAssembly, could we perhaps highlight wasmtime or cranelift?

I hope it's okay to submit my own work: what, a cli network bandwidth dashboard and logger.

Yes it's absolutely OK to submit your own work! Nice tool btw :wink:

rerast - A tool for transforming Rust code using rules.

arraygen: Derive for generating arrays from struct fields.

Haven't yet tried it myself, but thiserror looks quite useful. It's a crate for deriving Error, Display, and From traits for error types that is API compatible with implementing those traits by hand.
Noticed it due to this WASI pull request.

@llogiq intended for week of Dec 3 since it's too late for this week.

joinery: String joining, done generically. Also useful for adding separators between elements in an iterator.

funtime: A small proc-macro helper to time every statement in a given function

ambassador: Delegation of trait implementations via procedural macros

proc-macro-hack: Procedural macros in expression position

fallible-iterator: "Fallible" iterators for Rust.

StaticVec: kind of like a const generics version of SmallVec or ArrayVec, with a crazy amount of features

That looks cool! I'm really hoping 2020 is the year const generics are finally stabilized.

Me too! Although it's kinda weird to think about because it means that some really heavily used crates like typenum will just become completely pointless overnight...

transmogrify: Experimental crate for zero-cost downcasting for limited runtime specialization

join: Macros which provide useful shortcut combinators, combine sync/async chains, support single and multi thread (sync/async) step by step execution of branches, transform tuple of results to result of tuple.

pixels: A tiny hardware-accelerated pixel frame buffer