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

The current version of lazy-init is 0.5.1.

0.3.0 (older version) Rating: Negative + Unmaintained Thoroughness: High Understanding: Medium

by niklasf on 2020-01-18

Unsound API due to a missing !Send bound, allowing data races in safe code. Mitigated by the fact that most common uses will not expose this vulnerability, but it is unacceptable for a crate whose entire purpose is to provide safe synchronization primtives.

0.3.0 (older version) Rating: Neutral Thoroughness: Low Understanding: Low

by lo48576 on 2019-08-26

I'm not clear it is safe, but at least it does not seem malicious.

Potential unsoundness is reported at https://github.com/khuey/lazy-init/issues/9 but it is neither fixed nor refuted. This is the reason of the neutral rating.


Lib.rs has been able to verify that all files in the crate's tarball are in the crate's repository with a git tag matching the version. Please note that this check is still in beta, and absence of this confirmation does not mean that the files don't match.

Crates in the crates.io registry are tarball snapshots uploaded by crates' publishers. The registry is not using crates' git repositories, so there is a possibility that published crates have a misleading repository URL, or contain different code from the code in the repository.

To review the actual code of the crate, it's best to use cargo crev open lazy-init. Alternatively, you can download the tarball of lazy-init v0.5.1 or view the source online.