Rust code coverage: use 'llvm-cov' over 'tarpaulin'
A few days ago, I wrote about an issue I encountered where the code coverage for one of my projects failed on CI but worked fine locally. [I also discussed a solution](https://hans.lhoest.eu/rust-when-cargo-code-coverage-works-locally-but-fails-in-ci). It turns out there's an even better alternative: switch code coverage tools entirely and use [llvm-cov](https://github.com/taiki-e/cargo-llvm-cov) instead of `tarpaulin`.
The main reasons I switched to llvm-cov are that it feels more modern, and more importantly, the time required to run code coverage improved dramatically—from 4 minutes down to just 1 minute and 30 seconds. One contributing factor was an OpenSSL build dependency in my Cargo configuration, introduced by tarpaulin, which took a long time to compile. (To be fair, I probably could have installed OpenSSL as a binary, but I didn't want to introduce another program just for a coverage tool.) Switching to llvm-cov allowed me to remove this redundant dependency, which my project didn't really need in the first place.
That's it—just a short update I thought was worth sharing.
Thank you for reading,
Hans