Wish list of Clippy lints and features & bug fixes we would like to see added/improved/fixed based on the Rust projects we've been developing at Embark.
This is not a complete list, but an attempt to keep a bit of structure for our own sake, and may be of interest for Clippy lint developers as well.
Should have
Lints & Clippy features or fixes that would directly improve or help our workflows
Nice to have
Lints & Clippy features or fixes that would be nice to have, but are lower priority to us than the above list.
Not filed / found
Fixes or enhancements that believe there is no issue for yet, if you find one please do comment and we'll update it here.
Related tracking issues for other Rust components:
Wish list of Clippy lints and features & bug fixes we would like to see added/improved/fixed based on the Rust projects we've been developing at Embark.
This is not a complete list, but an attempt to keep a bit of structure for our own sake, and may be of interest for Clippy lint developers as well.
Should have
Lints & Clippy features or fixes that would directly improve or help our workflows
#[allow(unsafe_code)]should be allowed afterSAFETY:docs rust-lang/rust-clippy#8679 (Embark filed)assert_eq!rust-lang/rust-clippy#8567 (Embark filed)std::{include_str!, include_bytes!};calls. rust-lang/rust-clippy#7005 (Embark filed)cast_lossless)undocumented_unsafe_blocksdoes not trigger on unsafe trait impls rust-lang/rust-clippy#8505unnecessary_safety_comment): reverse ofundocumented_unsafe_blocksrust-lang/rust-clippy#7954missing_docs_in_private_itemsinto various lints rust-lang/rust-clippy#5736 (by @jhpratt)derive_partial_eq_without_eqwill trigger for third party crate derives rust-lang/rust-clippy#9320uninlined_format_args(topedanticornursery) rust-lang/rust-clippy#10087needless_pass_by_ref_mut: false positive with closures rust-lang/rust-clippy#11620#[cfg(feature = "…")]blocks rust-lang/rust-clippy#11649Nice to have
Lints & Clippy features or fixes that would be nice to have, but are lower priority to us than the above list.
instant.elapsed()overInstant::now() - instantrust-lang/rust-clippy#8603std::ptr::swap(a, b)instead ofstd::mem::swap(&mut *a, &mut *b)rust-lang/rust-clippy#7381!count != 0rust-lang/rust-clippy#5794unnecessary_lazy_evaluationsdoes not take cost of expression into account rust-lang/rust-clippy#8522 (by @jhpratt)mutreference in parameter rust-lang/rust-clippy#8863Not filed / found
Fixes or enhancements that believe there is no issue for yet, if you find one please do comment and we'll update it here.
cargo clippy --fixoften doesn't work and it is unclear to the user which lints it works for and which it skipslog::info!("hej")instead ofuse log::info; info!("hej")by specifyinglogcrate inclippy.tomlsection for the lint.Option<()>as we've seen that use in code just to (too) easily early out with?on empty options.Related tracking issues for other Rust components: