EmbarkStudios / EmbarkStudios/cargo-about
Emitting acceptor errors terminates the really slow search for licenses
- Dominant language
- Rust
- Stars
- 782
- Forks
- 46
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 3
Description
`cargo about generate` stops looking for licenses after it finds a license which was not accepted. This is especially annoying when working with many files as the current iteration approach is really quite slow.
For comparison. [ripgrep](https://docs.rs/ripgrep) even with `--no-ignore` flies through all my files almost immediately. It would be worth taking a few pages out of rg's book.
**Edit**: [cargo license](https://docs.rs/cargo-license) does not do the deep analysis to find licenses but is immediate to give feedback.
Contributor guide
Research direction
Start at the `cargo about generate` entry point and reproduce the slow search with many files, including a license that is not accepted. Trace how an acceptor error ends the search and compare the traversal behavior with ripgrep; done means rejected licenses no longer terminate discovery and the search gives substantially faster feedback.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100