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