Commit Graph

452 Commits

Author SHA1 Message Date
mcarton 8ac545d0fe Fix documentation 2016-05-26 00:08:31 +02:00
Andre Bogus 9cfc42275d Split `new_without_default` and `new_without_default_derive`.
This is still very slow, because we do a trait lookup for each field.
Perhaps storing the visited types in a set to reuse types would improve
performance somewhat. Also we may want to pre-decide some known types
(e.g. `Vec<T>`, `Option<T>`).
2016-05-24 18:22:18 +02:00
mcarton 2a5416d662
Rustup to *1.10.0-nightly (9c6904ca1 2016-05-18)* 2016-05-23 16:11:19 +02:00
Manish Goregaokar f2f5fefd00
Allow invalid upcast comparisons 2016-05-16 22:52:22 +05:30
Oliver Schneider 1e897f1552 add a companion lint to `no_effect` with suggestions for partially effective statements 2016-05-13 16:43:47 +02:00
Oliver Schneider c6b4b19a43
suggest `a op= b` over `a = a op b` 2016-05-11 15:32:20 +02:00
Oliver Schneider 654154d8e7
`cargo clippy` subcommand 2016-05-09 16:47:32 +02:00
Oliver Schneider 87faaec7a3
add needless_borrow lint 2016-05-09 13:07:43 +02:00
Oliver Schneider a159f047dd
fix markdown 2016-05-06 16:07:47 +02:00
Manish Goregaokar f6290b622c Merge branch 'pr-890' 2016-05-02 14:43:11 +05:30
Andre Bogus 9a99979cc4 fix #887: New lints for integer/floating-point arithmetic 2016-04-30 04:01:47 +02:00
Andre Bogus e3d86800ff allow items_after_statements by default 2016-04-23 07:52:45 +02:00
Georg Brandl efb5417439 Fix grammar. 2016-04-22 18:06:35 +02:00
Taylor Cramer 1e2cc78e08 Ran script to update README.md 2016-04-21 09:41:38 -07:00
Taylor Cramer 5158a08c5b Changed std::mem::forget errors to mem::forget 2016-04-20 18:55:41 -07:00
Taylor Cramer 12ae306630 Ticks around std::mem::forget 2016-04-20 13:33:05 -07:00
Taylor Cramer 7961f59303 Ran update_lints and updated CHANGELOG.md to reflect addition of mem_forget 2016-04-20 13:11:55 -07:00
Taylor Cramer b793ad7f2f Ran update_lints script 2016-04-19 16:32:04 -07:00
llogiq 0bc067089e add neg_multiply lint (#862)
add neg_multiply lint
2016-04-17 23:33:21 +02:00
Georg Brandl 12b8a0ac14 Make if_not_else lint Allow by default (fixes #859) 2016-04-17 12:54:38 +02:00
mcarton 1789430a49 Add a `TEMPORARY_CSTRING_AS_PTR` lint 2016-04-14 17:26:07 +02:00
Taylor Cramer 106ae7da44 Invalid upcast comparison cleanup 2016-04-02 15:32:57 +02:00
Taylor Cramer c81edfc7b9 Updated lints with script 2016-04-02 15:32:56 +02:00
Oliver Schneider 2917484130 make `nonminimal_bool` allow-by-default 2016-03-30 12:55:59 +02:00
Oliver Schneider e7013a3e9c update lints 2016-03-29 10:45:45 +02:00
Oliver Schneider 93d097eb12 better simplification 2016-03-29 10:45:18 +02:00
mcarton 371a5537eb Address nits in DOC_MARKDOWN 2016-03-28 21:24:52 +02:00
mcarton b1d1f095f1 Improve the DOC_MARKDOWN lint
`_` can be used for emphasize text. `::` is equality as bad outside
ticks.
2016-03-28 21:24:36 +02:00
mcarton 42bf37f49f Add a lint for bad documentation formatting 2016-03-28 21:24:36 +02:00
mcarton 2d5e3f3118 Lint transmute from ptr to ref 2016-03-28 18:05:43 +02:00
llogiq deb0f3120d Merge pull request #797 from cramertj/master
Added crosspointer transmute error and tests
2016-03-25 00:59:47 +01:00
Taylor Cramer bafffbd624 Ran python lint updater 2016-03-24 16:40:06 -07:00
Tim Neumann e53babef8f Mention running optional clippy dependency with `cargo rustc` 2016-03-24 23:03:51 +01:00
mcarton 15e55f5df5 Deprecates 4 lints
Namely STR_TO_STRING, STRING_TO_STRING, UNSTABLE_AS_SLICE and
UNSTABLE_AS_MUT_SLICE.
2016-03-24 19:56:48 +01:00
Oliver Schneider 077481053c refactoring and bugfix 2016-03-18 14:06:39 +01:00
Oliver Schneider 463897fd39 lint on too many single character bindings 2016-03-18 14:06:39 +01:00
Oliver Schneider 06ca1fc0a6 lint on binding-names that are too similar 2016-03-18 14:06:39 +01:00
mcarton 14dcb60bf8 s/Clippy.toml/clippy.toml 2016-03-12 14:52:09 +01:00
mcarton aa4daea364 Lint function with too many arguments 2016-03-12 14:52:06 +01:00
mcarton 578750aae1 Document the configuration file 2016-03-12 14:51:47 +01:00
mcarton a3031e34f9 Add a `BLACKLISTED_NAME` lint 2016-03-12 14:51:45 +01:00
Adolfo Ochagavía 87ef5f4d3b Lint against indexing and slicing
This can be useful to prevent panics in a codebase. ATM it is a pedantic
lint, but in the future it should be added to the restricions group.
2016-03-11 21:30:35 +01:00
mcarton 3f112b1b8a Fix punctuation in README 2016-03-11 14:26:26 +01:00
Manish Goregaokar 1d41ec9846 Merge pull request #742 from ctjhoa/master
Add clippy linting service badge
2016-03-11 08:41:53 +05:30
Camille TJHOA e67e21ca5d Add link with clippy service 2016-03-10 21:42:24 +01:00
mcarton d7129f560d Lint types with `fn new() -> Self` and no `Default` impl 2016-03-08 17:00:37 +01:00
mcarton 204c12c99e Lint unused labels 2016-03-08 16:43:40 +01:00
KALPESH KRISHNA 55fbf59f3b Linting classical overflow checks. 2016-03-08 02:48:42 +05:30
Camille TJHOA 59f44eb17a add clippy service badge 2016-03-07 00:12:06 +01:00
KALPESH KRISHNA e421a0f8a3 Warn about calling a closure in the same expression where it's defined. 2016-03-05 22:41:52 +05:30
Oliver Schneider 3b7720f992 lint ! and != in if expressions with else branches 2016-02-29 12:34:48 +01:00
Oliver Schneider 67213c9be4 lint unportable clike enum discriminants 2016-02-29 09:36:13 +01:00
mcarton 76004306cc Lint manual swaps 2016-02-28 12:16:13 +01:00
mcarton 72ef26272d Lint `foo = bar; bar = foo` sequences 2016-02-28 00:02:43 +01:00
mcarton 1c3cce8ba5 Add a lint about suspiciously formatted `else if` 2016-02-27 18:18:53 +01:00
mcarton 810de56079 Add a lint about suspiciously formatted `=@` ops
For `@` in {`*`, `!`, `-`}.
2016-02-27 17:57:36 +01:00
mcarton ef4401d4ac Lint about usage of `format!("string literal")` 2016-02-20 17:46:20 +01:00
llogiq 59c8f6210b Merge pull request #669 from shssoichiro/single-char-pattern
Lint single-character strings as P: Pattern args
2016-02-16 14:24:22 +01:00
mcarton b5ba621f61 Make DERIVE_HASH_NOT_EQ symmetric 2016-02-16 00:15:11 +01:00
Joshua Holmer 7eea67605a Lint single-character strings as P: Pattern args
Fixes #650
2016-02-14 22:40:43 -05:00
llogiq 5521a75707 Merge pull request #654 from mcarton/new
Lints about `new` methods
2016-02-13 22:19:36 +01:00
Manish Goregaokar 1e176cae5d Bump twice 2016-02-13 18:04:46 +05:30
Manish Goregaokar d964e18b90 Wrong crate 2016-02-13 17:43:28 +05:30
Manish Goregaokar 9fd1745db6 +license 2016-02-13 17:38:08 +05:30
mcarton e8c2aa2997 Lint about `new` methods not returning `Self` 2016-02-13 13:03:28 +01:00
Manish Goregaokar d4ebd68df2 Clarify readme 2016-02-13 08:45:36 +05:30
mcarton f309dc3c0f Add the MATCH_SAME_ARMS lint 2016-02-12 14:30:52 +01:00
llogiq d305bca25b fixed README 2016-02-12 12:31:13 +01:00
llogiq 9ee462625b Merge pull request #637 from mcarton/debug
Lint usage of `Debug`-based formatting
2016-02-12 12:18:15 +01:00
Manish Goregaokar 1013026f18 Merge branch 'pr-645' 2016-02-10 10:20:23 +05:30
mcarton 2db6965c81 Lint usage of `Debug`-based formatting 2016-02-09 21:22:54 +01:00
Joshua Holmer 2687a3f6b5 Update lints 2016-02-09 14:52:20 -05:00
Manish Goregaokar 93461afffc Merge branch 'pr-613'
Conflicts:
	src/lib.rs
	src/types.rs
2016-02-10 01:03:26 +05:30
llogiq 3b0b9e0e06 Merge remote-tracking branch 'origin/master' into regex_macro 2016-02-08 23:51:30 +01:00
mcarton 344698377f Fix typo 2016-02-07 13:27:09 +01:00
mcarton d862495d19 Lint ifs with the same then and else blocks 2016-02-07 13:26:34 +01:00
mcarton fe6f2a22ba Lint about consecutive ifs with same condition 2016-02-07 13:26:34 +01:00
Manish Goregaokar 9ba5d45509 Merge branch 'pr-581'
Conflicts:
	README.md
2016-02-07 17:40:48 +05:30
mcarton a02b8124de Lint about trivial regexes 2016-02-05 23:10:48 +01:00
mcarton 431c446746 Lint looping on maps ignoring the keys or values 2016-02-05 19:13:14 +01:00
llogiq 2adc906a75 Merge branch 'master' into regex_syntax 2016-02-05 17:34:09 +01:00
llogiq a14514f7c8 fixed span position and README 2016-02-05 17:29:41 +01:00
Manish Goregaokar 4eb9a921d4 Lint on cloning double pointer
fixes #620
2016-02-05 16:04:15 +05:30
llogiq 3d85cc24e7 new regex syntax lint, fixes #597 2016-02-05 00:36:06 +01:00
Oliver Schneider 3b8375d90b warn on `use`ing all variants of an enum 2016-02-03 15:38:23 +01:00
mcarton fab10c07e8 Fix confusing message for STRING_TO_STRING 2016-02-03 13:52:19 +01:00
scurest 908fb143ef Extend ABSURD_UNSIGNED_COMPARISONS to handle more types 2016-02-03 05:08:00 -06:00
Manish Goregaokar 5eb884b7b0 Merge branch 'pr-593'
Conflicts:
	README.md
	src/lib.rs
2016-02-03 03:26:51 +05:30
mcarton db205c82a4 Add a lint about using `clone` on `Copy` types 2016-02-02 22:35:01 +01:00
inrustwetrust d93eca29fc Fix typo in drop_ref lint description. 2016-02-02 20:47:38 +01:00
inrustwetrust bd86922c4f Add lint to warn for calls to `std::mem::drop` with a reference argument 2016-02-02 20:24:41 +01:00
Oliver Schneider 328d2c7626 add lint to check for enums where all variants have the same pre-/postfix 2016-02-01 13:01:16 +01:00
Oliver 'ker' Schneider d6c0435c81 lint on single match expressions with a value in the else path 2016-02-01 11:29:03 +01:00
scurest e48fbba864 Add a lint to suggest uint == 0 over uint <= 0 2016-01-29 21:21:12 -06:00
llogiq 5402ef3d27 Merge branch 'devonhollowood-for-loop-over-option'
Conflicts:
	README.md
2016-01-30 01:34:35 +01:00
Devon Hollowood 405d7c691e Add for_loop_over_result lint 2016-01-29 15:24:17 -08:00
mcarton afb7e67217 Add a lint to warn about &vec![_] if &[_] would do 2016-01-29 17:41:52 +01:00
Devon Hollowood f5cc94c96a Add for_loop_over_option lint 2016-01-28 23:39:00 -08:00
Manish Goregaokar 4c14d98c9f Merge pull request #549 from mcarton/ifs
Remove and lint about useless braces in `else { if .. }`
2016-01-29 03:39:27 +05:30
mcarton da93643357 Add a lint to warn about use of `print{,ln}!` 2016-01-28 19:34:52 +01:00
llogiq 291b73b8e8 Merge master and re-run update_lints.py 2016-01-27 22:23:21 +01:00
Florian Hartwig 23dfb2fbc0 Make update_lints script accept digits in lint names 2016-01-27 20:59:19 +01:00
llogiq ed96583677 extend_from_slice lint 2016-01-25 14:02:47 +01:00
mcarton 8ef0b86fab Lint explicit Clone implementations on Copy type 2016-01-24 15:33:23 +01:00
Oliver 'ker' Schneider 2a51f8d2be lint on items following statements 2016-01-24 10:16:56 +01:00
mcarton c6c0edb19b Add a lint about deriving Hash and implementing PartialEq 2016-01-21 19:56:31 +01:00
mcarton 91ff1db5bc Add a lint for starts_with 2016-01-20 12:57:14 +01:00
Florian Hartwig 01eda52cb5 Add lint for "string literal".as_bytes() 2016-01-19 19:17:50 +01:00
mcarton c6604bb281 Add a lint to warn about call to `.*or(foo(..))` 2016-01-16 18:47:45 +01:00
mcarton c2444c6043 Lint about `else { if .. }` with useless braces 2016-01-13 18:32:55 +01:00
mcarton 09129c1b41 Add BTreeMap to the HASHMAP_ENTRY rule
Fixes #433
2016-01-13 17:27:36 +01:00
llogiq 37707b5a34 added semver lint 2016-01-09 02:05:43 +01:00
mcarton 0c6e385493 Implement a HashMapLint 2016-01-03 17:04:08 +01:00
Manish Goregaokar 4484448cd1 Merge branch 'pr-538'
Conflicts:
	README.md
2016-01-03 21:26:04 +05:30
Manish Goregaokar 780dedc500 fixups 2016-01-03 21:25:09 +05:30
Guillaume Gomez abfb1d3ca1 Add new lint on function naming check (the '_') 2016-01-03 14:48:54 +01:00
mcarton 542685dad1 Merge branch 'master' of https://github.com/Manishearth/rust-clippy into #471 2016-01-02 19:36:45 +01:00
Manish Goregaokar 32cf6e32f6 Improve documentation on match_ref_pats (fixes #532) 2016-01-02 16:36:17 +05:30
Devon Hollowood a6bd2d0622 Add SEARCH_IS_SOME lint 2015-12-30 00:38:03 -08:00
Devon Hollowood bbd439ec9e Add FILTER_NEXT lint 2015-12-28 16:56:58 -08:00
mcarton 592ca26e90 Fix #518 2015-12-23 22:37:52 +01:00
mcarton 1aa3956b8a Update README 2015-12-23 02:45:17 +01:00
mcarton 3abdcd4709 Implement #364 2015-12-21 19:36:58 +01:00
Devon Hollowood 43b96d59ad Run update_lints.py 2015-12-12 21:39:10 -08:00
Andre Bogus 98c4dc185c updated lints 2015-12-08 06:32:55 +01:00
llogiq 3260b501a2 Merge pull request #483 from Manishearth/bored
Add lint for unused lifetimes (fixes #459)
2015-12-07 21:47:10 +01:00
Manish Goregaokar e8686a3ecd Merge branch 'pr-482' 2015-12-07 07:23:52 -05:00
Guillaume Gomez 72117836f1 Add check on redundant _ bindings in structs 2015-12-07 13:16:59 +01:00
Manish Goregaokar c7b87a06d2 Add lint for unused lifetimes (fixes #459) 2015-12-07 06:55:14 -05:00
Manish Goregaokar 18e81c1b59 Rudimentary escape analysis for Box<T> 2015-12-04 20:23:14 +05:30
Oliver Schneider 617c820e6b compute cyclomatic complexity (adjusted to not punish Rust's `match`) 2015-12-03 16:41:55 +01:00
Devon Hollowood 443e4556c2 Add lints suggesting map_or() and map_or_else()
In accordance with the latter lint, replace map().unwrap_or_else() in
src/mut_mut.rs with map_or_else()
2015-11-25 23:56:45 -08:00
Manish Goregaokar 84ad2be1df Merge branch 'pr-462'
Conflicts:
	README.md
2015-11-22 21:58:13 +05:30
John Quigley d4cf288b38 Add block_in_if lint, #434 2015-11-22 21:52:06 +05:30
Florian Hartwig 516f648460 Run update_lints 2015-11-19 17:15:21 +01:00
Andrew Paseltiner e8a239a1a2 Add lint for useless transmutes
Closes #441.
2015-11-11 10:53:11 -05:00
Manish Goregaokar 1a90bbff72 Merge branch 'pr-445' 2015-11-09 12:16:03 +05:30
Emanuel Czirai 44b2b26446 update readme to specify both lint groups are needed for the whole set
As a new user and newbie to rust, after reading this part of the readme("whole set"), I thought I was seeing a bug when I used `#![deny(clippy)]` but also had to add `#![deny(shadow_unrelated)]`.
But this explained it: 3322ffa8a0/src/lib.rs (L108)
2015-11-09 06:49:44 +01:00
Seo Sanghyeon 3322ffa8a0 New lint for assignment to temporary 2015-11-04 21:37:18 +09:00
wartman4404 764eedd050 check for Deref conversions 2015-11-03 21:11:40 -06:00
wartman4404 414c0d20f7 New lint for using `.cloned()` 2015-11-03 21:01:52 -06:00
Nathan Weston d28b8e169f New lint for zip with array length instead of enumerate()
Fixes #11.
2015-11-03 15:55:20 -05:00
Seo Sanghyeon 0fe5981870 New lint for statement with no effect 2015-10-29 15:50:35 +09:00
Florian Hartwig 66419582b5 Fix error in README 2015-10-26 23:57:55 +01:00
Florian Hartwig f6163fce61 Suggest for loop instead of while-let when looping over iterators 2015-10-26 23:57:50 +01:00
Manish Goregaokar 2b65473ac5 fix 2015-10-25 23:49:57 +05:30
Manish Goregaokar 5d3f627f47 bump version, add optional dep info 2015-10-25 23:43:27 +05:30
Seo Sanghyeon d843257643 New lint for struct update that has no effect 2015-10-22 18:19:06 +09:00
Vikas Kumar 675c532eab Ran util/update_lints.py to auto gen doc and lib.rs 2015-10-20 10:25:37 -07:00
Manish Goregaokar dea087dd17 Merge branch 'pr-394' 2015-10-18 00:54:03 +05:30
Florian Gilcher 39e93d572b Regnerate README.md 2015-10-15 21:33:47 +02:00
Florian Hartwig 871d9fc27c Make ptr_arg lint warn by default 2015-10-14 20:35:44 +02:00
Andre Bogus cf1e83b6dc Merged #365 2015-10-14 12:22:57 +02:00
Andre Bogus 949c3545ce Merged #366 2015-10-14 12:06:28 +02:00
Andre Bogus 6f17e2e3a0 update lints 2015-10-13 18:38:08 +05:30
Andre Bogus bed29a017b new lint to detect 2015-10-13 18:38:08 +05:30
swgillespie b02e80c012 implement 0.0/0.0 -> NaN lint as described in #370
casing of NaN
2015-10-11 19:26:23 -07:00
Florian Hartwig 26b2733b15 Add a lint for sized integer types in a mutex 2015-10-07 22:58:34 +02:00
Pyriphlegethon b7c6c30c88 Change lint description 2015-10-07 17:15:44 +02:00
Pyriphlegethon 7644f8e2a1 Add "nonsensical OpenOptions" lint 2015-10-07 13:46:51 +02:00
Florian Hartwig f8aa0431bd Suggest using an atomic value instead of a Mutex where possible 2015-10-07 01:35:14 +02:00
Manish Goregaokar 3e475e9588 Merge pull request #354 from Pyriphlegethon/master
Add "unnecessary mut passed" lint
2015-10-07 04:18:02 +05:30
Georg Brandl 85ac834343 RingBuf was renamed to VecDeque (fixes #363) 2015-10-05 22:02:14 +02:00
Pyriphlegethon e42f00e470 Change description of unnecessary mut passed lint 2015-09-29 18:52:19 +02:00
Pyriphlegethon b8cdefb6cf Add unnecessary mut passed lint 2015-09-29 13:11:19 +02:00
llogiq 4838e8a3b4 Merge pull request #344 from Manishearth/reflet
Handle let ref in toplevel_ref_arg as well
2015-09-22 09:18:45 +02:00
Manish Goregaokar 3609a2211a Handle let ref in toplevel_ref_arg as well 2015-09-22 12:46:51 +05:30
llogiq cf4e48d148 update lints 2015-09-21 06:24:46 +02:00
Manish Goregaokar 56b9682624 Update README.md 2015-09-19 19:16:59 +05:30
Nathan Weston f87dd31f30 New lint: loop with explicit counter variable (fixes #159)
Avoiding false positives here turns out to be fairly complicated.
2015-09-15 09:41:25 -04:00
swgillespie 82c524b774 implement empty range lint as described in #330 2015-09-14 17:19:05 -07:00
Alex Burka 7b13a7b5e6 link to wiki 2015-09-10 02:26:15 -04:00
Alex Burka f7ec0ef16c add warning about different rustc versions
Ref #322.
2015-09-10 02:06:52 -04:00
Manish Goregaokar ce6ea58de0 add cargo clippy link 2015-09-10 07:01:28 +05:30
llogiq 4835372df5 made shadow_unrelated allow, added previous binding span note, fixed #319 2015-09-08 11:50:04 +02:00
Manish Goregaokar 0e658afc1b Fix mut_mut false positive, make Allow (fixes #309) 2015-09-08 02:29:13 +05:30
llogiq 92b04cd75d split wrong_self_convention in pub/default visibility part 2015-09-07 09:17:45 +02:00
Andre Bogus b76ad366ab fixed bad_bit_mask false positive 2015-09-06 16:09:35 +02:00
llogiq b66bccc45a update_lints 2015-09-05 14:22:33 +02:00
llogiq cd91110ec0 new lint: min_max 2015-09-05 12:46:34 +02:00
llogiq e11fd49b1c Unicode lints, second attempt: Lint whole strings, help with replacement 2015-09-04 16:18:46 +05:30
Georg Brandl 846c164709 don't say "did you mean to" - use the standard "consider..."
"Did you mean to ..." sounds a bit condescending to me, since
if I meant to write "if let" I probably wouldn't have written "match" :)
2015-09-02 16:46:14 +02:00
Georg Brandl 1007864198 new lint: self conventions for certain method names (fixes #267) 2015-09-01 18:52:48 +02:00
Manish Goregaokar d3da9f6c81 Merge branch 'pr-260'
Conflicts:
	src/lib.rs
2015-08-31 15:06:53 +05:30
Georg Brandl 03abe275b2 new lint: unnecessary patterns (x@_ -> x) 2015-08-30 19:02:30 +02:00
Tim Neumann ef0c933550 add precedence_negative_literal lint 2015-08-30 17:34:48 +02:00
Georg Brandl 16df79a054 new lint: using collect() to just exhaust an iterator
Should use a for loop instead.
2015-08-30 13:10:59 +02:00
Georg Brandl b72ef5a173 new lint: loop-match-break, which could be while-let (fixes #118) 2015-08-30 12:40:39 +02:00
Manish Goregaokar 193e71be61 Merge branch 'pr-228'
Conflicts:
	README.md
	src/methods.rs
2015-08-27 11:09:40 +05:30
llogiq 9461a480bd Added automatic links to wiki for all lints. 2015-08-26 16:04:50 +02:00
llogiq 5225feceaa shadowing detection 2015-08-25 13:40:26 +02:00
Georg Brandl 56e8db476c new lint: inherent methods that should be trait impls (fixes #218) 2015-08-25 11:10:42 +02:00
llogiq 209e6981a3 shadowing detection 2015-08-24 16:59:02 +02:00
llogiq 380e41a914 improved README, added lint counter 2015-08-24 16:49:12 +02:00
R.Chavignat e80f2470b7 Merge branch 'master' into cast_iusize_improvements 2015-08-23 00:08:16 +02:00
R.Chavignat 79ef13592e Completed the implementation of *size handling.
Added some more cases to the test, and implemented a new lint,
cast_possible_wrap, triggered when casting from an unsigned type to a
signed type of the same size.
2015-08-22 23:49:03 +02:00
Georg Brandl 017dac2301 new lint: using &Ref patterns instead of matching on *expr (fixes #187) 2015-08-22 14:34:39 +02:00
Georg Brandl 630bb76f96 new lint: type complexity (fixes #93)
Still very naive, but it's a start.
2015-08-22 08:57:11 +02:00
R.Chavignat dbc9b7f46e Reworked the error messages for more heplfulness.
Renamed the cast_possible_overflow lint to cast_possible_truncation,
and updated the error message, readme and crate root accordingly.
Added some more information to the message for the cast_precision_loss
lint.
Updated the test case to reflect changes.
2015-08-20 22:44:40 +02:00
R.Chavignat 1846581baa Added examples to lint descriptions. 2015-08-20 14:24:26 +02:00
R.Chavignat 993239d33a Initial implementation of lossy cast lints.
Introduces 3 lints :
  cast_possible_overflow
  cast_precision_loss
  cast_sign_loss
Add a compile-test test case.
Fix errors spotted by dogfood script.
2015-08-20 01:04:06 +02:00
Georg Brandl 8f4499f3ae new lint: comparing unit types (fixes #201) 2015-08-19 08:11:00 +02:00
Georg Brandl e9a41e2374 new lint: lint when iterating over any Iterator::next() result (fixes #182) 2015-08-17 07:28:40 +02:00
Nathan Weston 23a38c4170 New lint: Range::step_by(0) (fixes #95)
Uses type information so it can detect non-literal ranges as well
(Range or RangeFrom -- the other range types don't have step_by).
2015-08-16 12:58:54 -04:00
Georg Brandl 137a9f3def methods: allow Option.unwrap by default 2015-08-15 07:23:04 +02:00
Georg Brandl 9578403638 new lint: looping over x.iter() or x.iter_mut() (fixes #157) 2015-08-13 16:31:16 +02:00
Georg Brandl e03b71606b update_lints: add a check mode for travis runs 2015-08-13 15:30:06 +02:00
Manish Goregaokar 1d64553bc6 Merge branch 'pr-152'
Conflicts:
	README.md
	src/lib.rs
	src/strings.rs
2015-08-13 18:38:08 +05:30
llogiq 0ba08715e5 Merge 2015-08-13 11:41:50 +02:00
llogiq 0b08e9e83e added string_add lint and fixed string_add_assign + test 2015-08-13 11:36:39 +02:00
llogiq 71b46d9ecd improved string_add/string_add_assign messages, Allow-by-default string_add_assign 2015-08-13 11:35:30 +02:00
Georg Brandl 2c2716f045 all: DRY for lint descriptions
* use the rustc style for lint descriptions
* add a script to parse all lint descriptions
  and put the generated table into README
2015-08-13 11:14:05 +02:00
Manish Goregaokar 79bf774e9b Update README.md 2015-08-12 21:25:26 +05:30
llogiq 2d55381a96 added string_add lint and fixed string_add_assign + test 2015-08-12 15:50:56 +02:00
Georg Brandl 2eacb3c146 README: update lint output 2015-08-12 07:52:45 +02:00
Georg Brandl f6dc48fe3a new lint for "let x = EXPR; x" at the end of functions (fixes #104) 2015-08-11 22:25:47 +02:00
Georg Brandl dfd1f42dd2 README: update with recently added lints 2015-08-11 21:31:04 +02:00
Georg Brandl e318328d63 all: whitespace cleanup
* 4-space indentation
* no trailing whitespace
* no tabs
2015-08-11 20:22:50 +02:00
llogiq b393752814 New string_add_assign lint (first part of #121), also formatting & refactoring 2015-08-05 15:10:45 +02:00
llogiq 251c5cfffd rustup, also first time clippy was used on itself, which led to a small refactoring 2015-07-16 08:53:02 +02:00
Ben S e774fd1650 Remove redundant 'redundant_closure' description
There were two of them in the README, now there are one.
2015-06-17 18:24:31 +01:00
llogiq 23caf3cccc first unicode lint: zero_width_space 2015-06-11 11:35:00 +02:00
Michael Rutherford a275d99628 Fixed spelling error
Fixed a spelling error and added a comma in the README.md file.
2015-06-06 13:28:58 -05:00
Manish Goregaokar 240d9716d8 Update README.md 2015-06-04 09:15:56 +05:30
llogiq 87047c3223 explained recently added lints 2015-06-02 09:23:22 +02:00
llogiq 5b1287f017 added description to README 2015-05-21 14:57:20 +02:00
llogiq 57a6b93ed0 Merge pull request #62 from Manishearth/len_zero_is_empty
Here goes nothing... 😄
2015-05-20 10:38:08 +02:00
llogiq e8ca3c6eae new lints len_zero and len_without_is_empty 2015-05-20 08:52:19 +02:00
Manish Goregaokar 303c8f7b5e Update README.md 2015-05-18 16:02:25 +05:30
Camille TJHOA 04f48455e5 Specify languages for examples 2015-05-18 12:22:46 +02:00
Camille TJHOA b533b084f3 Fix typo 2015-05-18 12:22:46 +02:00
Camille TJHOA bac950b4d6 Fix and improve README 2015-05-18 12:22:45 +02:00
llogiq 96bfade4f1 New lint: mut_mut (closes issue #9) 2015-05-18 09:02:24 +02:00
llogiq edf747ab76 new lint: identity_op, refactored bit_masks a bit 2015-05-15 18:46:43 +02:00
llogiq 6bec4f35df Added 'ineffective bit mask' lint 2015-05-15 14:09:29 +02:00
Manish Goregaokar 905509083c Update README.md 2015-05-14 14:41:33 +05:30
Manish Goregaokar 2ffbdfdcd0 oops 2015-05-10 16:13:02 +05:30
Manish Goregaokar 4eb47abde7 crates 2015-05-10 16:10:05 +05:30
Manish Goregaokar 2447e1d5be Add eta reduction (fixes #29) 2015-05-10 11:49:08 +05:30
llogiq 17bcf0e865 New lint: precedence, see issue #41 2015-05-06 12:59:08 +02:00
llogiq ac151bb1f0 Added new 'float_cmp' lint (see issue #46) 2015-05-06 10:01:49 +02:00
llogiq 2cb84b9d15 New lint: approx_const 2015-05-04 12:01:34 +02:00
llogiq 8d2328d9a5 Added &String matching and renamed to vec_ptr_arg to ptr_arg, also added README section 2015-05-04 08:15:24 +02:00
llogiq 53fa76dff9 new lint: needless_bool (TODO: The warnings could give more specific directions) 2015-05-02 00:35:49 +02:00
llogiq 441b55b328 Added eq_op and bad_bit_mask from the extra_lints project (mostly plain copy, need to refactor to integrate better) 2015-04-30 11:48:43 +02:00
Manish Goregaokar 433c834897 more readme 2014-12-28 20:12:48 +05:30
Jonathan Castello a7d5048d48 Update README.md for `clippy_toplevel_ref_arg`. 2014-12-24 18:37:50 -08:00
Manish Goregaokar 2703038f93 Add seanmonstar's StrToString lint 2014-12-16 00:46:39 +05:30
Manish Goregaokar 1e182b36fb Update README.md 2014-12-10 12:21:55 +05:30
Manish Goregaokar e9c08c4b12 dlist readme 2014-11-20 13:44:22 +05:30