mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-01 23:12:02 +00:00
Empowering everyone to build reliable and efficient software.
872628e99e
New lint: approx_const |
||
---|---|---|
src | ||
tests | ||
.gitignore | ||
.travis.yml | ||
Cargo.toml | ||
README.md |
rust-clippy
A collection of lints that give helpful tips to newbies and catch oversights.
Lints included in this crate:
single_match
: Warns when a match statement with a single nontrivial arm (i.e, where the other arm is_ => {}
) is used, and recommendsif let
instead.box_vec
: Warns on usage ofBox<Vec<T>>
dlist
: Warns on usage ofDList
str_to_string
: Warns on usage ofstr::to_string()
toplevel_ref_arg
: Warns when a function argument is declaredref
(i.e.fn foo(ref x: u8)
, but notfn foo((ref x, ref y): (u8, u8))
)eq_op
: Warns on equal operands on both sides of a comparison or bitwise combinationbad_bit_mask
: Denies expressions of the form_ & mask == select
that will only ever returntrue
orfalse
(because in the exampleselect
containing bits thatmask
doesn't have)needless_bool
: Warns on if-statements with plain booleans in the then- and else-clause, e.g.if p { true } else { false }
ptr_arg
: Warns on fn arguments of the type&Vec<...>
or&String
, suggesting to use&[...]
or&str
instead, respectivelyapprox_constant
: Warns if the approximate of a known float constant (instd::f64::consts
orstd::f32::consts
) is found and suggests to use the constant
In your code, you may add #![plugin(clippy)]
to use it (you may also need to include a #![feature(plugin)]
line)
You can allow/warn/deny the whole set using the clippy
lint group (#[allow(clippy)]
, etc)
More to come, please file an issue if you have ideas!
Licensed under MPL. If you're having issues with the license, let me know and I'll try to change it to something more permissive.