These reviews are from Crev, a distributed system for code reviews. To add your review, set up cargo-crev.

1.1.0 (current) Rating: Positive Thoroughness: High Understanding: High

by MaulingMonkey on 2020-09-06

Basic 0-dependencies Fn-based Waker source.

This could eventually be made safe when Wake (not Waker!) stabilizes. In the meantime, this crate manually creates a Waker via RawWaker. This requires some unsafe code, but this crate appropriately uses just about the bare minimum necessary to accomplish the task, and appears to do so soundly and correctly. Additionally, the code is minimal (63 LOC including comments and whitespace for 1.1.0) and straightforward.

Full Audit

The current version of waker-fn is 1.1.0.

1.0.0 (older version) Rating: Positive Thoroughness: High Understanding: High

by MaulingMonkey on 2020-09-06

Show review…

Basic 0-dependencies Fn-based Waker source.

This could eventually be made safe when Wake (not Waker!) stabilizes. In the meantime, this crate manually creates a Waker via RawWaker. This requires some unsafe code, but this crate appropriately uses just about the bare minimum necessary to accomplish the task, and appears to do so soundly and correctly. Additionally, the code is minimal (63 LOC including comments and whitespace for 1.1.0) and straightforward.

Full Audit


Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories. There is absolutely no guarantee that the repository URL declared by the crate belongs to the crate, or that the code in the repository is the code inside the published tarball. To review the actual code of the crate, it's best to use cargo crev open waker-fn. Alternatively, you can download the tarball of waker-fn v1.1.0.