>The most frustrating part of using Clippy is that it did not force a reanalysis of all packages in my cargo workspace when invoked multiple times.<p>This is because the author used `#[warn(clippy::all)]` instead of `#[deny]`. Warnings do not fail the build, so subsequent rebuilds will be no-ops. If you're at the stage where you've fixed regular compilation errors and are only fixing clippy lints, you should probably change that to `#[deny]`. (I personally keep it at `#[deny]` from the start.) Or run clippy as `cargo clippy -- -Dwarnings` to treat warnings as errors.<p>>Linking to code units in rustdoc was hard to do correctly since there were so many ways to do it.<p>If you're planning to publish the crate to crates.io and are okay with relying on docs.rs to host the docs, then you can rely on the fact that docs.rs uses a nightly rustdoc and use nightly-rustdoc-specific features. Specifically you can use<p><pre><code> [`Foo`]
</code></pre>
to create a link to whatever `Foo` happens to be in the code scope.<p>>My one complaint is that `RUST_LOG=debug cargo run` dumps all of the verbose debug logs from cargo while your program is being built.<p>You would use the env_logger builder to parse a different env var like "PUNCHTOP_LOG", instead of the default "RUST_LOG".
"Punchtop is an audio game"<p>No, it is not: it is a drinking game (as the Wikipedia page linked by the author clearly states). Music is only incidentally used to mark the passing of time: a timer works just as well.<p>Here is what is usually meant by "audio game": <a href="https://en.wikipedia.org/wiki/Audio_game" rel="nofollow">https://en.wikipedia.org/wiki/Audio_game</a>