0.3.0 (current) Thoroughness: Medium Understanding: Medium
by LovecraftianHorror on 2023-02-13
These reviews are from Crev, a distributed system for code reviews. To add your review, set up cargo-crev
.
0.3.0 (current) Thoroughness: Medium Understanding: Medium
by LovecraftianHorror on 2023-02-13
The current version of Lexopt is 0.3.0.
0.2.0 (older version) Thoroughness: Medium Understanding: Medium
by Minoru on 2021-10-24
The diff from 0.1.0 doesn't contain anything suspicious. Still no unsafe
.
The issues I mentioned in my previous review were all addressed.
I now consider this library mature enough to be used in production (in my case, Newsboat).
0.1.0 (older version) Thoroughness: Low Understanding: Medium
by Minoru on 2021-07-19
No unsafe
, no dependencies except std. About 1KLOC.
Tries hard not to convert OsString
s into String
unless absolutely
necessary. I didn't review the Windows/UTF-16 bits, but everything else looks
tidy enough.
This is just the first release, so some bits are inconsistent. I reported them:
They aren't flaws, but they do indicate that the library is not yet mature (to no-one's surprise).
These reviews are from cargo-vet. To add your review, set up cargo-vet
and submit your URL to its registry.
0.3.0 (current)
From kornelski/crev-proofs copy of git.savannah.gnu.org.
Packaged for Guix (crates-io)
0.3.0 (current)
From kornelski/crev-proofs copy of salsa.debian.org.
Only in debcargo (unstable). Changelog:
cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.
May have been packaged automatically without a review
Lib.rs has been able to verify that all files in the crate's tarball, except Cargo.lock
,
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 lexopt
. Alternatively, you can download the tarball of lexopt v0.3.0 or view the source online.
Fundamental
cargo llvm-cov
reports 91.96% line coverage on Linux (there is a lot of conditional compilation to handle Windows WTF-8 hell)cargo audit
is happy?Nice to have
cargo check
is happy?rustfmt
is happy?clippy
is happy?unsafe
ReviewNo direct
unsafe
usage and has#[forbid(unsafe_code)]
, so nothing to cover here :)unsafe
?miri
if usingunsafe
?General Review
Everything seems very thought out, tradeoffs are noted in comments, and the crate is pedantic about corretness. What's not to love?