Let's see what makes sense to get into Clippy or not from the Rust API Guidelines .
Check the box if a lint or issue already exist for an item. See also is:issue is:open label:A-guidelines .
Naming (crate aligns with Rust naming conventions)
Interoperability (crate interacts nicely with other library functionality)
Macros (crate presents well-behaved macros)
Documentation (crate is abundantly documented)
Crate level docs are thorough and include examples (C-CRATE-DOC )
All items have a rustdoc example (C-EXAMPLE )
Examples use ?, not try!, not unwrap (C-QUESTION-MARK )
Function docs include error, panic, and safety considerations (C-FAILURE )
Prose contains hyperlinks to relevant things (C-LINK )
Cargo.toml includes all common metadata (C-METADATA , clippy::cargo_common_metadata )
authors, description, license, homepage, documentation, repository,
readme, keywords, categories
Crate sets html_root_url attribute "https://docs.rs/CRATE/X.Y.Z " (C-HTML-ROOT )
Release notes document all significant changes (C-RELNOTES )
Rustdoc does not show unhelpful implementation details (C-HIDDEN )
Predictability (crate enables legible code that acts how it looks)
Flexibility (crate supports diverse real-world use cases)
Type safety (crate leverages the type system effectively)
Dependability (crate is unlikely to do the wrong thing)
Debuggability (crate is conducive to easy debugging)
Future proofing (crate is free to improve without breaking users' code)
Necessities (to whom they matter, they really matter)
Let's see what makes sense to get into Clippy or not from the Rust API Guidelines.
Check the box if a lint or issue already exist for an item. See also is:issue is:open label:A-guidelines.
rustc'sbad-stylelint group.as_,to_,into_conventions (C-CONV)iter,iter_mut,into_iter(C-ITER)Copy(rustc'smissing-copy-implementations)CloneEqPartialEqOrdPartialOrdHashDebug(rustc'smissing-debug-implementations)DisplayDefault(we do havenew_without_default)From,AsRef,AsMut(C-CONV-TRAITS)SHOULD_IMPLEMENT_TRAIT.IntoandTryIntoare never implemented manually (only automatically viaFrom)FromIteratorandExtend(C-COLLECT)Serialize,Deserialize(C-SERDE)SendandSyncwhere possible (C-SEND-SYNC)Hex,Octal,Binaryformatting (C-NUM-FMT)R: ReadandW: Writeby value (C-RW-VALUE)?, nottry!, notunwrap(C-QUESTION-MARK)clippy::cargo_common_metadata)readme, keywords, categories
html_root_urlattribute #1788DerefandDerefMut(C-DEREF)boolorOption(C-CUSTOM-TYPE)bitflags, not enums (C-BITFLAG)Debug(C-DEBUG)rustc'smissing-debug-implementations.Debugrepresentation is never empty (C-DEBUG-NONEMPTY)Debugrepresentation is never empty #1796