0.8.1 (current) Thoroughness: Low Understanding: Medium
by kpreid on 2023-10-14
This review is from Crev, a distributed system for code reviews. To add your review, set up cargo-crev
.
0.8.1 (current) Thoroughness: Low Understanding: Medium
by kpreid on 2023-10-14
Lib.rs has been able to verify that all files in the crate's tarball are in the crate's repository. 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 allocation-counter
. Alternatively, you can download the tarball of allocation-counter v0.8.1 or view the source online.
Good characteristics (compared to other instrumented allocators):
Limitations (compared to other instrumented allocators):
System
allocator.#[global_allocator]
itself, so whether it is used depends on whether the crate is linked, not on code in the dependent crate.Bugs noticed during review:
measure(f)
does not clean up state iff()
panics.None of those bugs affect safety.
I made this review while searching for an instrumented allocator I could use in tests, and others I have evaluated are https://docs.rs/stats_alloc/0.1.10/ and https://docs.rs/logging-allocator/0.1.1/.