Commit graph

1354 commits

Author SHA1 Message Date
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