What it does
Look for #[cfg(feature = "NAME")], cfg!(feature = "NAME"), #[cfg_attr(feature = "NAME", …)] etc and check that NAME is a real feature found in Cargo.toml
Advantage
- Catches typos (
#[cfg(feature = "sedre")])
- Catches refactors that removes or renames a feature
Example
#[cfg_attr(feature = "sedre", derive(serde::Deserialize, serde::Serialize))]
struct Foo {
}
Suggested output:
Clippy: "No feature called sedre. Available features are: default, serde
Related
May sounds similar, but are different: