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

0.3.0 (current) Rating: Positive Thoroughness: Medium Understanding: Medium

by LovecraftianHorror on 2023-02-13

Fundamental

  • Well maintained?
  • Well documented?
    • Very solid comments in the source and includes a DESIGN.md file
  • Sane dep tree?
    • No deps :)
  • Good test coverage?
    • cargo llvm-cov reports 91.96% line coverage on Linux (there is a lot of conditional compilation to handle Windows WTF-8 hell)
  • Tests are passing?
  • cargo audit is happy?

Nice to have

  • cargo check is happy?
  • rustfmt is happy?
  • clippy is happy?
    • Happy on 1.67.1 at least

unsafe Review

No direct unsafe usage and has #[forbid(unsafe_code)], so nothing to cover here :)

  • Directly uses unsafe?
  • Passes miri if using unsafe?

General Review

Everything seems very thought out, tradeoffs are noted in comments, and the crate is pedantic about corretness. What's not to love?

The current version of Lexopt is 0.3.0.

0.2.0 (older version) Rating: Positive 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) Rating: Positive Thoroughness: Low Understanding: Medium

by Minoru on 2021-07-19

Show review…

No unsafe, no dependencies except std. About 1KLOC.

Tries hard not to convert OsStrings 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.

cargo-vet does not verify reviewers' identity. You have to fully trust the source the audits are from.

unknown

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.