Commit Graph

507 Commits

Author SHA1 Message Date
Georg Brandl
88dd38de87 lib: add clippy_pedantic group with all Allow by default lints (fixes #265) 2015-09-01 18:05:28 +02:00
Frank Denis
833493cf07 FnKind::FkClosure -> FnKind::Closure 2015-09-01 14:28:23 +02:00
Manish Goregaokar
d3da9f6c81 Merge branch 'pr-260'
Conflicts:
	src/lib.rs
2015-08-31 15:06:53 +05:30
Georg Brandl
e33bef685e lifetimes lint: walk type bounds as well as types (fixes #253, again) 2015-08-31 11:26:41 +02:00
Georg Brandl
0217fb81ee loops: fix false positives with explicit_iter_loop and references (fixes #261) 2015-08-31 08:29:40 +02:00
Georg Brandl
d499d2a9a7 loops: remove debugging print 2015-08-31 08:20:39 +02:00
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
Georg Brandl
6461fb3308 lifetimes lint: take "where" clauses into account (fixes #253)
If a where clause is present and has lifetimes mentioned, just bail out.
2015-08-30 09:58:26 +02:00
llogiq
621818e606 rustup, the ExpnInfo stuff changed 2015-08-28 14:35:20 +02:00
Manish Goregaokar
c3d4eb5bbd Merge branch 'pr-228'
Conflicts:
	README.md
	src/methods.rs
2015-08-27 15:25:56 +02:00
Manish Goregaokar
5159e034a6 appease the dogfood gods 2015-08-27 04:40:01 +05:30
Manish Goregaokar
9ebcd0bf29 More macro checks 2015-08-27 04:33:59 +05:30
Manish Goregaokar
7a1082d916 Merge pull request #239 from jedisct1/nightly
Changes for rust-nightly after #27856
2015-08-27 03:44:30 +05:30
Georg Brandl
bb552dc96f eta_reduction: fix false positive for unsafe fns (fixes #243) 2015-08-26 17:09:51 +02:00
llogiq
6984d2bc09 added helpful links to lints that have wiki entries 2015-08-26 14:33:51 +02:00
llogiq
5e341715cd Merge pull request #240 from Manishearth/shadow_scope
correct scoping for shadow lints
2015-08-25 23:56:57 +02:00
llogiq
51a211503d correct scoping for shadow lints 2015-08-25 23:48:22 +02:00
Manish Goregaokar
c9b849bdc8 Merge pull request #237 from birkenfeld/iter_fix
loops: use a whitelist for the "x.iter() -> &x" lint (fixes #236)
2015-08-26 03:16:49 +05:30
Frank Denis
92db00863f Changes for rust-nightly after #27856 2015-08-25 23:21:38 +02:00
Manish Goregaokar
6df102cdab Merge pull request #238 from birkenfeld/to_string_fix
methods: suggest correct replacement for `to_string()` (fixes #232)
2015-08-26 02:43:19 +05:30
llogiq
9012d8f197 fixed false positives on structs/enum variants 2015-08-25 20:11:03 +02:00
llogiq
56cdd58ad2 Merge branch 'master' of https://github.com/Manishearth/rust-clippy into shadow 2015-08-25 20:09:50 +02:00
llogiq
974ceefc1e shadowing detection 2015-08-25 20:06:09 +02:00
llogiq
544c14f3ef Merge pull request #230 from birkenfeld/eq_op_fix
eq_op: cut back to expressions that are guaranteed side effect free
2015-08-25 19:32:12 +02:00
Georg Brandl
6fa34cca29 methods: suggest correct replacement for to_string() (fixes #232) 2015-08-25 18:39:21 +02:00
Georg Brandl
ffed5b0b23 loops: use a whitelist for the "x.iter() -> &x" lint (fixes #236) 2015-08-25 18:28:05 +02:00
llogiq
bd22521af2 shadowing detection 2015-08-25 17:36:46 +02:00
Georg Brandl
b13d318f48 all: remove unneeded deref and/or ref operations 2015-08-25 17:35:20 +02:00
Georg Brandl
88047a0953 collapsible_if: remove extraneous note output
This was probably a debug addition.
2015-08-25 17:35:20 +02:00
Georg Brandl
92a3394065 all: remove unneeded deref and/or ref operations 2015-08-25 14:41:35 +02:00
llogiq
5225feceaa shadowing detection 2015-08-25 13:40:26 +02:00
Georg Brandl
d5c808acd0 collapsible_if: remove extraneous note output
This was probably a debug addition.
2015-08-25 13:27:21 +02:00
Georg Brandl
81ef3da03c methods: people might be using to_string() to make a copy; add a hint for that 2015-08-25 12:46:29 +02:00
Georg Brandl
64cd1fc6ba eq_op: cut back to expressions that are guaranteed side effect free
fixes #229
2015-08-25 12:34:37 +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
961f9d68a9 Merge pull request #226 from birkenfeld/fixes
Two small fixes/refactorings
2015-08-24 16:21:17 +02:00
Georg Brandl
cc8f33d915 ranges: remove unneeded as_str() 2015-08-23 16:34:23 +02:00
Georg Brandl
c8a2e848ab utils: extract utility method for matching trait method calls from loops 2015-08-23 16:32:50 +02:00
R.Chavignat
3af2e3ba85 Refactored CastPass. 2015-08-23 06:26:31 +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
llogiq
5a5b1ba96b Merge pull request #216 from birkenfeld/match_pass
new lint: using &Ref patterns instead of matching on *expr (fixes #187)
2015-08-22 19:06:48 +02:00
Georg Brandl
7580da306e matches: special message for this case
match &e { &Pat1 => {}, &Pat2 => {}, ... }

(inspired by dogfood fixes)
2015-08-22 14:34:39 +02:00
Georg Brandl
8f1a237493 &-matches: dogfood fixes! 2015-08-22 14:34:39 +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
5403e82681 matches: new module, move single_match lint there 2015-08-22 14:34:39 +02:00
Georg Brandl
1587256dc4 types: check for macros in type complexity check 2015-08-22 14:30:53 +02:00
Manish Goregaokar
1334f2ceae Fix doubleborrow of refcell in consts.rs 2015-08-22 13:02:50 +05:30
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
Georg Brandl
e92bf84a53 ptr_arg: fix panic when pattern type is not in tcx 2015-08-22 08:57:11 +02:00
R.Chavignat
f1255d5f5d Casts : work in progress handling *size separately 2015-08-22 02:46:22 +02:00
Georg Brandl
8a10440641 utils: add match_type() helper function
which saves one level of matching when checking for type paths
2015-08-21 19:24:38 +02:00
Georg Brandl
a437936d49 all: put often used DefPaths into utils as consts
Also remove the "use xxx;" blocks to ensure import paths don't change.
They don't work anyway since stuff may still be re-exported at the old
location, while we need the "canonical" location for the type checks.

Plus, the test suite catches all these cases.
2015-08-21 19:23:05 +02:00
Georg Brandl
707e95f2e5 types: use middle::ty types instead of ast types
This gets rid of the match_ty_unwrap function.
2015-08-21 19:21:19 +02:00
Georg Brandl
b2df15d65a ptr_arg improvements (fixes #214)
* do not trigger on mutable references
* use "real" type from ty, not AST type
2015-08-21 19:21:18 +02:00
llogiq
6ffe1ed337 Merge pull request #212 from Manishearth/eq_op_const
Eq op const
2015-08-21 12:30:53 +02:00
llogiq
a22b3cdcee const folding for eq_op 2015-08-21 12:26:03 +02:00
llogiq
4dcbad1b08 const folding for eq_op 2015-08-21 12:19:07 +02:00
R.Chavignat
ad0bc66402 Added support for isize/usize in the CastPass lint pass.
Extracted the match that determines an integer types's size in a
utility function and implemented support for usize/isize.
Added a needed feature to the crate root.
Added some tests to cover those cases, and a test I previously forgot.
Silenced two errors signaled by dogfood.sh in unicode.rs.
2015-08-21 03:03:37 +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
ab481e5cb1 Refactored the CastPass lints. 2015-08-20 21:37:37 +02:00
R.Chavignat
ff28dd324e Fixed a little oversight. 2015-08-20 14:50:26 +02:00
R.Chavignat
14528d433a Simplified reexported ast::* type paths.
Also removed trailing whitespaces.
2015-08-20 14:46:40 +02:00
R.Chavignat
b417f01ed8 Also test that the CastExpr's right arm is numeric. 2015-08-20 14:36:26 +02:00
R.Chavignat
93d9249f76 Moved allow(unknown_lints) to crate level. 2015-08-20 14:25:08 +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
llogiq
150840667e Merge pull request #204 from Manishearth/bit-mask
Extend and correct the ineffective_bit_mask check
2015-08-19 13:25:43 +02:00
llogiq
973d5e5c6b Mul and Div for integers 2015-08-19 11:58:59 +02:00
llogiq
98d24b5b56 fixed #203 and #197 2015-08-19 09:39:03 +02:00
Georg Brandl
8f4499f3ae new lint: comparing unit types (fixes #201) 2015-08-19 08:11:00 +02:00
llogiq
9f67ba7f8d re-applied birkenfeld's improvements 2015-08-18 14:18:36 +02:00
llogiq
6e0c103133 more small const improvements 2015-08-18 12:26:01 +02:00
Georg Brandl
49ad73f6e4 consts: minor improvements 2015-08-18 11:07:13 +02:00
Georg Brandl
7f52239cab consts: convert to using a struct with state
Struct has the context reference (as an Option) and the
needed_resolution flag.
2015-08-17 19:58:21 +02:00
Georg Brandl
a2dcbfea65 const eval: implement ! for integers 2015-08-17 16:45:56 +02:00
llogiq
a2ee637be6 added test and fixed negativity check in Partial{Eq, Ord} impl 2015-08-17 16:24:57 +02:00
llogiq
c47402416b Added bit operations to const folding 2015-08-17 15:11:36 +02:00
llogiq
4394362836 dogfooding 2015-08-17 13:23:17 +02:00
llogiq
9f134f8e95 added PartialEq/PartialOrd to ConstantVariant, used to implement comparing binops 2015-08-17 13:18:14 +02:00
llogiq
0e67c0134f make float_cmp check for zero 2015-08-17 12:08:45 +02:00
llogiq
fb715ce45d fix 189, fixed a few warnings, ==/!= for consts, refactored consts test 2015-08-17 12:08:45 +02:00
Manish Goregaokar
4f1fcd4d5b Merge pull request #184 from Manishearth/identity_op
Identity op now uses const folding, no longer follows const bindings
2015-08-17 14:35:45 +05:30
Manish Goregaokar
65deb956f1 Merge pull request #186 from birkenfeld/fix
loops: fix two trailing periods in lint msgs
2015-08-17 11:05:02 +05:30
Georg Brandl
caeb72c47b loops: fix two trailing periods in lint msgs 2015-08-17 07:30:33 +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
llogiq
759b45a46d made is_negative(..) public (+doctest), fixed identity_op and precedence 2015-08-16 23:09:56 +02:00
llogiq
c4b07ead17 Merge pull request #179 from nweston/step-by-zero
New lint: Range::step_by(0) (fixes #95)
2015-08-16 20:12:52 +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
llogiq
4244f2479f dogfooding, part 2 2015-08-16 16:09:00 +02:00
llogiq
fe0de07b28 dogfooded 2015-08-16 16:05:51 +02:00
llogiq
03c7d7074d With working test now 2015-08-16 15:56:09 +02:00
Manish Goregaokar
164907ece2 restrict toplevel_ref_arg to only functions (fixes #170) 2015-08-16 17:24:03 +05:30
Georg Brandl
64954283c1 add some imports to guard against crate moves 2015-08-16 09:03:06 +02:00
Georg Brandl
47b605304d all: organize imports
* remove unused imports
* separate external and internal imports
* consistent import of rustc::lint
* move #[allow(unused_imports)] to local impl
2015-08-16 08:55:34 +02:00
Georg Brandl
997f345046 all: remove unneeded as_str() calls for ast::Name
Name has PartialEq and Display impls that do what we want.
2015-08-16 08:38:47 +02:00
Manish Goregaokar
f494f14aa6 Merge pull request #177 from birkenfeld/if_let_mini_fix
misc: fix check for unit body in "match -> if let" lint (fixes #172)
2015-08-15 14:12:34 +05:30
Georg Brandl
542bf8d50e misc: fix check for unit body in "match -> if let" lint (fixes #172) 2015-08-15 09:56:15 +02:00
Georg Brandl
b299433de3 lifetimes: fix case with one unnamed and one static ref (fixes #171) 2015-08-15 09:36:07 +02:00
llogiq
b1920cb21c Merge pull request #174 from birkenfeld/small_fixes
methods: allow Option.unwrap by default
2015-08-15 08:27:33 +02:00
Georg Brandl
137a9f3def methods: allow Option.unwrap by default 2015-08-15 07:23:04 +02:00
llogiq
f23af0cfd5 changed const to consts to avoid keyword, added test, fixed a lot of bugs 2015-08-14 17:14:54 +02:00
llogiq
b6ac44d5b2 Removed #![allow(redundant_closure)] on eq_op 2015-08-14 15:00:04 +02:00
llogiq
5d99ebec72 fixed false positives (at the cost of some false negatives) 2015-08-14 14:37:12 +02:00
Manish Goregaokar
763ae1f3ae Fix dogfood 2015-08-13 23:20:00 +05:30
Manish Goregaokar
5ce8e7ba85 trim_multiline: ignore empty lines 2015-08-13 23:18:34 +05:30
Manish Goregaokar
fbbb44d93b Handle tabs 2015-08-13 23:18:34 +05:30
Manish Goregaokar
83487c060f Add trim_multiline utility (fixes #139) 2015-08-13 23:18:33 +05:30
Manish Goregaokar
847070e19d Merge pull request #151 from birkenfeld/needless_bool_msg
spelling fix, rework needless_bool with snippet (fixes #150)
2015-08-13 23:17:18 +05:30
Manish Goregaokar
3cf5c36296 Address review comments, move to travis 2015-08-13 21:45:50 +05:30
Georg Brandl
49e51fe65a lifetimes: try to fix w.r.t. lifetimes from parent scopes (fixes #162) 2015-08-13 21:45:42 +05:30
Manish Goregaokar
09db7f3fee fix 2015-08-13 21:45:42 +05:30
Manish Goregaokar
c2bdc85715 oh the irony 2015-08-13 21:45:41 +05:30
Manish Goregaokar
5eab397e7c Some fixes from dogfooding clippy 2015-08-13 21:45:41 +05:30
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
8a98736f51 spelling fix, rework needless_bool with snippet (fixes #150) 2015-08-13 15: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
6aa36e9deb initial addition and subtraction for bytes and ints 2015-08-13 14:22:05 +02:00
llogiq
0ba08715e5 Merge 2015-08-13 11:41:50 +02:00
Andre Bogus
a00270c5b1 grammar 2015-08-13 11:38:39 +02:00
llogiq
9e786d3956 added string_add to clippy lint group 2015-08-13 11:36:39 +02:00
llogiq
f9e851e212 pulled strings passes together, added more tests 2015-08-13 11:36:39 +02:00
llogiq
52c0cf5a9d fixed formatting 2015-08-13 11:36:39 +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
ea0cf2a296 update script: also generate lint list in lib.rs 2015-08-13 11:34:51 +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
llogiq
1a19d5ef65 changed Constant to a struct with 'needed_resolution' bool 2015-08-13 10:48:12 +02:00
llogiq
a2f19f2a38 added follow flag 2015-08-13 10:48:12 +02:00
llogiq
6aeb955214 fixed if-condition match 2015-08-13 10:48:12 +02:00
llogiq
8b9c2a79ed First (incomplete) const folding 2015-08-13 10:48:11 +02:00
Manish Goregaokar
8dfa02938d Merge branch 'pr-149' 2015-08-13 13:00:29 +05:30
Manish Goregaokar
510ea0c5e5 Merge branch 'pr-140'
Conflicts:
	src/lib.rs
2015-08-13 12:52:14 +05:30
Georg Brandl
a67e55f3f0 lint messages: remove trailing period
Since lint messages often are suffixed by ", #[warn(xxx)] on by default"
this trailing period produces an ugly clash with the comma.
2015-08-13 08:15:42 +02:00
Georg Brandl
7aee04878f tests: use fragment of lint text for error checking
(Did not touch strings.rs, which is fixed by @llogiq's PR)
2015-08-13 08:12:07 +02:00
Georg Brandl
2f7693094f lifetimes lint: include support for lifetimes as generic params 2015-08-13 06:43:25 +02:00
Georg Brandl
6603299f3f lifetimes lint: straighten some code, add a few comments 2015-08-13 06:35:40 +02:00
Georg Brandl
b349f9e88d new lint for needless lifetimes (fixes #115) 2015-08-13 06:35:40 +02:00
Georg Brandl
f6090909d3 new lint: using for i in 0..x { .. vec[i] .. } instead of iterator (fixes #3) 2015-08-13 06:34:08 +02:00
Georg Brandl
4400aaed43 if_let_chain: allow mixing in normal ifs as well 2015-08-13 06:32:24 +02:00
Andre Bogus
30a6764adb grammar 2015-08-12 21:17:21 +02:00
Georg Brandl
3044d3d633 unicode: add lint against non-ascii chars in literals (Allow by default), #85 2015-08-12 20:36:35 +02:00
Manish Goregaokar
c58f803511 Merge branch 'pr-138'
Conflicts:
	src/lib.rs
2015-08-12 21:22:01 +05:30
Georg Brandl
4074c1f968 methods: lint against String.to_string (fixes #100) 2015-08-12 17:03:13 +02:00
llogiq
801f01d001 added string_add to clippy lint group 2015-08-12 16:50:55 +02:00
llogiq
e6e036ec20 pulled strings passes together, added more tests 2015-08-12 16:42:42 +02:00
llogiq
f0182ca6c8 fixed formatting 2015-08-12 15:57:50 +02:00
llogiq
2d55381a96 added string_add lint and fixed string_add_assign + test 2015-08-12 15:50:56 +02:00
Georg Brandl
225969e8a3 methods: move misc.StrToStringPass to MethodsPass 2015-08-12 13:58:55 +02:00
Georg Brandl
e8fed074cf new lint: warn if let-binding has unit value (fixes #74) 2015-08-12 13:21:07 +02:00
Manish Goregaokar
ca3b4330f1 Use snippet, pprust methods expand AST 2015-08-12 15:19:57 +05:30
Manish Goregaokar
0481d04d6f Merge pull request #137 from birkenfeld/collapsible_if_fix
collapsible_if: do not show Debug display of expression
2015-08-12 15:06:24 +05:30
Georg Brandl
7b3299e009 collapsible_if: do not show Debug display of expression
Instead, pretty-print the inner block and use the same style as for
the "single match => if let" lint.
2015-08-12 11:00:08 +02:00
Georg Brandl
b831bd1d1d len_zero: display full suggested expr in message 2015-08-12 10:53:14 +02:00
Georg Brandl
bcd95aec1c all: make style of lint messages consistent
* start first sentence lowercased
* use backticks to delimit code snippets
* use "this is wrong. Consider doing X." consistently
2015-08-12 10:47:09 +02:00
Georg Brandl
6d5f9478b2 utils: implement if_let_chain macro as suggested by isHavvy 2015-08-12 07:48:47 +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
02c0cafa14 move NeedlessReturn pass out to its own module and rename to ReturnPass 2015-08-11 22:06:59 +02:00
Georg Brandl
4350dab761 types: remove almost duplicate helper function
I guess "help" instead of "note" is fine as well, so we can
get rid of the extra function.
2015-08-11 21:25:51 +02:00
Georg Brandl
2bcc151888 new lint for Option.unwrap() and Result.unwrap()
The latter is set to Allow by default (fixes #24)
2015-08-11 21:19:11 +02:00
Georg Brandl
cf96042c65 move walk_ty() to utils module and rename to walk_ptrs_ty 2015-08-11 21:16:10 +02:00
Manish Goregaokar
6bc69fa342 Merge pull request #127 from birkenfeld/better-helptext-if-let
better help text for "match -> if let" lint
2015-08-12 00:44:51 +05:30
Georg Brandl
e318328d63 all: whitespace cleanup
* 4-space indentation
* no trailing whitespace
* no tabs
2015-08-11 20:22:50 +02:00
Manish Goregaokar
2cb26126d3 Merge branch 'pr-78'
Conflicts:
	src/lib.rs
2015-08-11 23:28:06 +05:30
Manish Goregaokar
efdbfe0d31 nit 2015-08-11 23:11:20 +05:30
Georg Brandl
cab9905705 better help text for "match -> if let" lint
Implements the suggestion from #87.

Changes span_help_and_lint(), which is only used for this lint,
to use fileline_help() instead of span_help() to avoid printing
the span twice.

Also adds complete suggested new code. I had to distinguish
between blocks, which need no additionals braces, and other exprs.
2015-08-11 19:26:51 +02:00
Georg Brandl
0ff476b529 new lint for unneeded return stmts 2015-08-11 19:05:11 +02:00
Georg Brandl
7b074d3ac7 Remove tabs and trailing whitespace from lib and misc. 2015-08-11 17:02:04 +02:00
llogiq
f0eb36c2af added parent method, also changed match-if-let note to help 2015-08-11 15:07:21 +02:00
Manish Goregaokar
228f06a960 Upgrade Rust to rustc 1.4.0-nightly (a5d33d891 2015-08-08) (fixes #123) 2015-08-09 22:16:39 +05:30
llogiq
27f8fa75e1 whitespace 2015-08-07 09:33:54 +02:00
llogiq
b393752814 New string_add_assign lint (first part of #121), also formatting & refactoring 2015-08-05 15:10:45 +02:00
Manish Goregaokar
6ebb9b1551 Fix crash with idents from different contexts 2015-08-02 20:59:12 +05:30
Manish Goregaokar
de5ccdfab6 Upgrade to rustc 1.3.0-nightly (4d52d7c85 2015-07-30) 2015-07-31 12:00:06 +05:30
Manish Goregaokar
0e8e8cfc9b Basic framework for structured logging 2015-07-27 00:39:09 +05:30
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
llogiq
a244750939 new 'snippet' utils method, used where applicable 2015-07-09 17:02:21 +02:00
Zachary Bush
038d540ab1 Fix build for rustc 1.3.0-nightly (bf3c979ec 2015-06-30) 2015-07-01 09:21:46 -07:00
Zachary Bush
0ffbdf2f8a Fix build with rustc 1.2.0-nightly (20d23d8e5 2015-06-18)
In https://github.com/rust-lang/rust/pull/26347, MacroFormat was
renamed to ExpnFormat. MacroFormat wasn't being used in
src/mut_mut.rs, so I removed it.
2015-06-18 15:30:51 -07:00
llogiq
9a3dcaabe8 fixed renaming of rustc::middle::ty enums 2015-06-15 13:27:24 +02:00
llogiq
0e5b62c8d8 also included String::from in cmp_owned and fixed deprecation in test 2015-06-11 16:53:23 +02:00
llogiq
23caf3cccc first unicode lint: zero_width_space 2015-06-11 11:35:00 +02:00
llogiq
19e718966d forgot to update utils, there are a few new s 2015-06-07 12:05:14 +02:00
llogiq
1f74c4b359 removed false positives from inline_always (issue #84) 2015-06-07 12:03:56 +02:00
llogiq
8563ee60ec fixed issue #88 in bit_mask 2015-06-06 02:27:48 +02:00
llogiq
e8ca19da24 fixed modules/visibility 2015-06-01 22:36:56 +02:00
llogiq
30de91d3e9 moved in_macro to (new) utils.rs 2015-06-01 22:30:34 +02:00
llogiq
1ee2e4ffe8 Fixed block check, also added macro test to collapsible_if and inline_always 2015-06-01 15:09:17 +02:00
llogiq
7f5891184d merged upstream master 2015-06-01 13:55:55 +02:00
llogiq
cdca2c93c1 now the method lookup actually works (and I understand why! 😄), reduces unnecessary loops, and has a few comments 2015-06-01 12:49:36 +02:00
llogiq
4c76465154 Merge pull request #68 from Manishearth/macro_expn
macro expn detection in mut_mut.rs
2015-06-01 07:44:27 +02:00
llogiq
21cd0c7e70 check for is_empty() method to get rid of false positives 2015-06-01 07:40:33 +02:00
Matthew Hall
423a9666ca Implements #45 - any number mod 1 will be 0 2015-05-31 13:43:31 +01:00
llogiq
77838d6ba7 New lint for issue
#72
2015-05-30 15:10:19 +02:00
Matthew Hall
7e16822925 Add lint for ifs that could be collapsed
"Collapsible" ifs are ones which contain only a then block, and the then
block consists of an if that only has a then block.
2015-05-29 15:41:25 +01:00
llogiq
cd2e621c60 made in_macro distinguish intra-crate and extra-crate macros, as the latter have no working source (note: may fail in the face of compiler plugins doing whatever they like with spans), also one more run-pass test 2015-05-26 13:52:40 +02:00
Manish Goregaokar
eb421ca202 Merge pull request #71 from sourcejedi/patch-1
Fix copy+paste in description of LEN_ZERO
2015-05-26 16:02:04 +05:30
llogiq
0d651c72ff made macro test even simpler, added a few tests 2015-05-26 01:45:15 +02:00
llogiq
73e3ef6d0e fixed issue #69 2015-05-25 22:50:41 +02:00
llogiq
a67e0f6e2f first prototype of macro expn detection in mut_mut.rs 2015-05-25 07:22:41 +02:00
Alan Jenkins
a133dc4451 Fix copy+paste in description of LEN_ZERO 2015-05-24 19:06:54 +01:00
llogiq
b51ca1c3db Formatting fixed 2015-05-23 12:32:29 +02:00
llogiq
0ed8e4e968 another refactoring, using more fitting Option methods, improving formatting, etc. 2015-05-23 00:49:13 +02:00
llogiq
450c0fb40c Merge pull request #65 from Manishearth/cmp_owned
check for str type of .to_owned() callee
2015-05-21 16:41:57 +02:00
llogiq
4b1c72c949 check for str type of .to_owned() callee 2015-05-21 16:37:38 +02:00
llogiq
158935a38d refactored Option usage and fn argument types, improved formatting 2015-05-21 15:59:58 +02:00
llogiq
4292dc77a7 new lint: cmp_owned 2015-05-21 14:51:43 +02:00
llogiq
e8ca3c6eae new lints len_zero and len_without_is_empty 2015-05-20 08:52:19 +02:00
llogiq
5556d89f56 removed ty_ptr match 2015-05-18 11:36:56 +02:00
llogiq
b9414637e2 better messages 2015-05-18 10:52:43 +02:00
llogiq
1f8453ab73 mut_mut now more robust (thanks to Manishearth, see issue #9) 2015-05-18 10:41:15 +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
2447e1d5be Add eta reduction (fixes #29) 2015-05-10 11:49:08 +05:30
Joshua Yanovski
11dea78595 Fix Box<Vec<T>> test. 2015-05-06 22:52:16 -07:00
Joshua Yanovski
a175463acc Fix panic during constant lookup. 2015-05-06 21:41:54 -07:00
llogiq
23525081f9 fixed typo from last commit 2015-05-06 14:19:02 +02:00
llogiq
7a8de35abc refactored precedence lint 2015-05-06 13:20:47 +02:00
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
0936e0617a new lint to check for doomed comparisons to NAN 2015-05-04 14:11:15 +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
07adeee6e9 Added check for zero bitmask and uncommon directions, wrong comment in needless_bool corrected, added new lint vec_ptr_arg + test 2015-05-04 07:20:34 +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
3a9bf24bb3 Added constant lookup (with help from Manish) to bad_bit_mask 2015-04-30 15:17:06 +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
2935c31692 rustup (rustc 1.0.0-nightly (00978a987 2015-04-18) (built 2015-04-19)) 2015-04-20 16:18:35 +05:30
Manish Goregaokar
2756ebe056 rustup 2015-04-14 00:12:51 +05:30
Manish Goregaokar
426a3ee1e7 Rustup 2015-03-02 16:13:44 +05:30
Manish Goregaokar
67701e0062 -warnings 2015-02-19 05:03:27 +05:30
Manish Goregaokar
f428b18c47 rustup (fixes #28) 2015-01-10 11:56:58 +05:30
Manish Goregaokar
538db34e60 into_string() -> to_owned() (fix #27) 2015-01-10 10:52:03 +05:30
Manish Goregaokar
b7ecb6e7c7 rustup 2015-01-07 09:35:34 +05:30
Manish Goregaokar
e57396bc52 Remove namespacing 2014-12-26 05:24:44 +05:30
Manish Goregaokar
ccf996c348 clippy lint group 2014-12-26 05:12:05 +05:30
Manish Goregaokar
32d060ae11 more rustup 2014-12-26 04:52:18 +05:30
Manish Goregaokar
b790b78eec Merge branch 'master' of github.com:Manishearth/rust-clippy 2014-12-26 04:51:14 +05:30
Manish Goregaokar
39481a521c rustup (MatchSource rename, missing copy) 2014-12-26 04:35:12 +05:30
Jonathan Castello
1431fc04af Implement a lint to check for args like fn foo(ref x: u8), as the ref is effectively ignored by rustc. 2014-12-24 15:20:30 -08:00
Manish Goregaokar
467b1ad9a4 rustup 2014-12-19 14:41:00 +05:30
Manish Goregaokar
2703038f93 Add seanmonstar's StrToString lint 2014-12-16 00:46:39 +05:30
Manish Goregaokar
98d88e7eb4 rm if_let gate 2014-12-11 03:04:58 +05:30
Rohan Prinja
3a9fda7c7b Path has only 2 fields now
See also: https://github.com/phildawes/racer/pull/72
2014-12-04 18:05:49 +05:30
Manish Goregaokar
7bb411c239 more clippylike (from issue title) 2014-11-20 12:38:27 +05:30
Manish Goregaokar
ca7ad5fa80 Add DList lint (fixes #2) 2014-11-20 12:37:37 +05:30
Manish Goregaokar
542bfe3570 +match_if_let 2014-11-20 00:18:31 +05:30
Manish Goregaokar
767bd168c1 moar clippylike 2014-11-19 14:34:18 +05:30
Manish Goregaokar
9341427b0a docs 2014-11-19 14:32:47 +05:30
Manish Goregaokar
92f13d8231 boxvec 2014-11-19 14:27:34 +05:30
Manish Goregaokar
37226273a7 init cargo 2014-11-19 13:23:40 +05:30