Commit graph

1117 commits

Author SHA1 Message Date
Laura Peskin
8e6abc6fd7 alphabetize paths to pass dogfood 2017-09-29 21:48:10 -04:00
Laura Peskin
ddad5e0f86 add tests for false positives 2017-09-29 21:01:11 -04:00
Laura Peskin
f3e51d8d65 add lint for creation of invalid references 2017-09-29 21:01:10 -04:00
mcarton
7e956ac7c4 Fix regression with print! 2017-09-29 19:13:21 +02:00
mcarton
cae9cedeb5 Fix regression with format! 2017-09-29 18:36:03 +02:00
Oliver Schneider
bc76f397c6 Merge pull request #2084 from ykrivopalov/bit_mask_verbosity_threshold
Configuration option for VERBOSE_BIT_MASK threshold
2017-09-29 08:49:27 +02:00
Manish Goregaokar
201b5c2f24 Use ..= in the suggestion 2017-09-28 10:40:36 -07:00
Manish Goregaokar
0ca166277c Rust upgrade to rustc 1.22.0-nightly (0e6f4cf51 2017-09-27) 2017-09-28 07:11:34 -07:00
Yury Krivopalov
5c56c924fc Clarify verbose_bit_mask_threshold description 2017-09-27 10:31:39 +03:00
Manish Goregaokar
387efd459c
Merge branch 'pr-1945' 2017-09-25 20:11:10 -07:00
Manish Goregaokar
bebc99d893 Run prepublish script 2017-09-25 19:54:24 -07:00
Manish Goregaokar
66eea5e662
Fix dogfood needless-borrow 2017-09-25 19:52:30 -07:00
Manish Goregaokar
1b4aba47b7
Fix dogfood filter-map 2017-09-25 19:52:30 -07:00
Manish Goregaokar
2551bd8924
Reduce cyclomatic complexity of types::check_ty 2017-09-25 19:52:29 -07:00
Manish Goregaokar
fabb6b6645
Rustup to rustc 1.22.0-nightly (6c476ce46 2017-09-25) 2017-09-25 19:52:29 -07:00
Manish Goregaokar
d337c7f927
Update changelog 2017-09-25 18:43:34 -07:00
Manish Goregaokar
94c6f4a868 Pass dogfood 2017-09-25 18:39:50 -07:00
Yury Krivopalov
a3ad409341 Configuration option for VERBOSE_BIT_MASK threshold
By default is 1. u64, because I didn't figure out how to deserialize
u128 option from config.
2017-09-25 23:38:49 +03:00
Manish Goregaokar
6842a522bb Merge pull request #2079 from rust-lang-nursery/ptr_arg-vs-capacity
avoid linting `ptr_arg` if `.capacity()` is called.
2017-09-25 10:22:57 -07:00
Laura Peskin
d7867ef8c1 add lint for mutable borrow; may have false positives. pushed for feedback 2017-09-25 02:00:21 -04:00
Laura Peskin
2fe968774a replace defids with nodeids for local variables 2017-09-25 01:44:47 -04:00
Laura Peskin
c326a779dd use def_id of function in check_for_mutation 2017-09-24 15:40:17 -04:00
Laura Peskin
9a17150a06 refactor, add spans to warnings, add tests 2017-09-24 15:40:17 -04:00
Manish Goregaokar
d0eff10a7c Update test, fix lint 2017-09-24 15:40:16 -04:00
Manish Goregaokar
27d5ff6c9c Rustup 2017-09-24 15:40:16 -04:00
Laura Peskin
74f4fd32e9 attempt to add check for mutation of range bound within loop; compiles but doesn't work as intended. pushed for feedback 2017-09-24 15:40:16 -04:00
Laura Peskin
319f12a4c4 implement lint for mutable range bound 2017-09-24 15:40:16 -04:00
Laura Peskin
b091fb9b24 add lint declaration and example that should trigger the lint 2017-09-24 15:40:16 -04:00
Oliver Schneider
4ab2223e59 Merge pull request #2060 from mrecachinas/feature/int-plus-one
Addresses #1955 - Suggests >= y + 1 become > y
2017-09-24 13:57:56 +02:00
Michael Recachinas
f571cf0b5e Change rtype of int_plus_one detection to Option<String> 2017-09-24 12:31:12 +01:00
Michael Recachinas
9437d2909c Change to returning Option<(bool, Option<String>)> 2017-09-24 10:30:29 +01:00
Michael Recachinas
fff35736e4 Remove old return-value 2017-09-24 09:58:58 +01:00
Manish Goregaokar
e3c4ec74d7 Rust upgrade to rustc 1.22.0-nightly (14039a42a 2017-09-22) 2017-09-23 13:30:29 -07:00
Michael Recachinas
21e9a1285d Use span_lint_and_then as per feedback 2017-09-23 19:32:11 +01:00
Andre Bogus
1e0268fda8 avoid linting ptr_arg if .capacity() is called. Also suggest removing .as_str() where applicable.
THis fixes #2070.

Also fixes a few formatting mishaps
2017-09-20 23:59:23 +02:00
Chris Emerson
9a0a8a0010 Move has_drop to the utils module. 2017-09-19 21:38:35 +01:00
Manish Goregaokar
31489d75a3 Bump to 0.0.162 2017-09-18 20:27:24 -07:00
Manish Goregaokar
35fa4429e3 Rust upgrade to rustc 1.22.0-nightly (0701b37d9 2017-09-18) 2017-09-18 20:23:08 -07:00
Martin Carton
0b64222a68 Fix case in doc_valid_idents
BibTeX and BibLaTeX use the usual capitalization of TeX tools:
- https://www.ctan.org/pkg/bibtex
- https://www.ctan.org/pkg/biblatex
2017-09-18 22:40:00 +02:00
Chris Emerson
f680eb164d Update unnecessary_operation and no_effect to not suggest removing
structs/enums wrappers when that type implements Drop as noted
in #2061.
2017-09-18 20:07:33 +01:00
Luca Bruno
62ae6d2251
lints/doc_markdown: add two more entries 2017-09-18 14:44:28 +00:00
Michael Recachinas
535302efda Register 'int_plus_one' lint case in clippy_lints 2017-09-17 17:27:16 +01:00
Michael Recachinas
d7ea6addf0 (#1955): Suggests x > y over x >= y + 1 for ints
This module handles the following cases:
- `... >= ... + 1` and `... >= 1 + ...`
- `... - 1 >= ...` and `-1 + ... >= ...`
- `... + 1 <= ...` and `... + 1 <= ...`
- `... <= ... - 1` and `... <= -1 + ...`

Note: this only goes 1 level deep (i.e., does not constant-fold) and
does not currently simplify expressions. Examples of these
cases include:
```rust
let x = 1;
y >= y + x; // won't catch this case or any permutation

x + 1 >= y + 2; // won't catch this case

x + 1 - 1 >= y - 1 + 1; // WILL catch this case when it likely shouldn't
```
2017-09-17 17:18:12 +01:00
Oliver Schneider
2bb8efdb4d Merge pull request #2058 from rust-lang-nursery/ptr_arg-vs-clone
add suggestions for .clone() in ptr_arg fns
2017-09-17 15:37:21 +02:00
Marcus Klaas
48ed3c058f Extend MANUAL_MEMCPY lint so that it also detects manual clones between slices 2017-09-16 19:17:22 -04:00
Marcus Klaas
e461e3f915 Format loops.rs with latest stable rustfmt 2017-09-16 18:45:28 -04:00
llogiq
708a818094 Merge pull request #2057 from topecongiro/issue-1818
Enhance CHARS_*_CMP lint
2017-09-16 09:16:55 +02:00
Andre Bogus
72be166756 add suggestions for .clone() in ptr_arg fns 2017-09-16 09:10:26 +02:00
topecongiro
81f5c69131 Enhance CHARS_*_CMP lint 2017-09-16 14:50:07 +09:00
topecongiro
197664e989 Add suggestion to needless_borrow 2017-09-16 11:27:24 +09:00
Seiichi Uchida
1f6801dd6a Add ExprLoop to contains_continue_expr() 2017-09-14 22:26:59 +09:00
Oliver Schneider
b2c88b0a35
Merge remote-tracking branch 'origin/master' into rustup 2017-09-13 15:41:09 +02:00
Oliver Schneider
32a9394490
Rustup 2017-09-13 15:34:04 +02:00
Tuomas Siipola
d768fe8c16
Fix link in trivial_regex 2017-09-12 19:08:25 +03:00
Tuomas Siipola
6d3db724b7
Fix empty documentation in unit_expr 2017-09-12 19:08:25 +03:00
Tuomas Siipola
2b698db1ae
Fix links in approx_const 2017-09-12 19:08:18 +03:00
Oliver Schneider
b7222be917
Version bump 2017-09-12 14:40:24 +02:00
Oliver Schneider
b127ad251f
Rustup 2017-09-12 14:38:59 +02:00
Andre Bogus
e7e8e79020 suggestion for ptr_arg 2017-09-10 19:32:24 +02:00
Aaron Hill
d318ced660
Add CLONE_ON_REF_PTR lint
Closes issue #1645
2017-09-09 21:52:19 -04:00
Oliver Schneider
edcf6e7e80
Use hir_id instead of fetching hir_id via the NodeId 2017-09-09 14:06:41 +02:00
Aaron Hill
8adc42b5b4
Update for latest Rust
This is mainly due to https://github.com/rust-lang/rust/commit/dead08cb33134
2017-09-09 01:23:08 -04:00
Manish Goregaokar
8aa1d118b3 Merge pull request #2004 from sunfishcode/master
When suggesting `from(x)` for lossless casts, strip parens from `x`.
2017-09-05 15:09:39 -07:00
Manish Goregaokar
44b852b10e Merge pull request #2023 from montrivo/while_let_loop
`while_let_loop` doesn't take into account break-with-value #1948
2017-09-05 14:19:00 -07:00
Tim Nielens
7489a84c6a while_let_loop doesn't take into account break-with-value #1948 2017-09-05 22:28:30 +02:00
Oliver Schneider
8c824e4cbc Also ignore continue statements in is_unit_expr 2017-09-05 12:12:44 -07:00
Manish Goregaokar
7e9ba81297 for loops -> for-loops 2017-09-05 12:10:53 -07:00
Dan Gohman
396cfa7055 Only strip parens for binary expressions. 2017-09-05 10:55:08 -07:00
Dan Gohman
35cf2715dc When suggesting from(x) for lossless casts, strip parens from x. 2017-09-05 10:55:04 -07:00
Manish Goregaokar
bc602df324 Update changelog 2017-09-05 10:54:45 -07:00
Manish Goregaokar
07d5dba0b7 Update changelog 2017-09-05 09:45:14 -07:00
Marcus Klaas
90f345df94
Add lint to detect manual slice copies 2017-09-05 12:56:26 +02:00
Oliver Schneider
e4524ac4de
Run nightly rustfmt 2017-09-05 12:39:27 +02:00
M. Hasbini
ee8c51be00 Fix "further information" link
"further information" link was missing the `v` part from the url.
e.g.
wrong (404 notfound): https://rust-lang-nursery.github.io/rust-clippy/0.0.157/index.html#map_entry
correct: https://rust-lang-nursery.github.io/rust-clippy/v0.0.157/index.html#map_entry
2017-09-04 20:03:51 +03:00
Oliver Schneider
7757c893ef
Fix len_zero ICE 2017-09-04 17:05:47 +02:00
Oliver Schneider
009f5aaf83
Update to latest nightly 2017-09-04 16:10:36 +02:00
Manish Goregaokar
5e1899138f
Fix dogfood 2017-09-03 14:58:27 -07:00
Manish Goregaokar
2544458559
Run rustfmt 2017-09-03 14:15:18 -07:00
Manish Goregaokar
35eda0531a
Fix unit_expr expectations and changelog entry 2017-09-03 14:14:20 -07:00
Manish Goregaokar
e56da2782c Merge branch 'pr-2016' into HEAD 2017-09-03 14:02:16 -07:00
Zaki Manian
0d9f56674d Mention the false positive 2017-09-03 14:01:29 -07:00
Manish Goregaokar
4807909152 Rustup to rustc 1.22.0-nightly (744dd6c1d 2017-09-02) (fixes #2013) 2017-09-03 13:55:45 -07:00
Zaki Manian
8b53f2238b Fix all the clippy lints
Add false positive tests
2017-09-03 13:39:49 -07:00
Zaki Manian
6657d4e7ff Remove direct call for Deref
Remove "assigns" from the lint
2017-09-03 12:50:02 -07:00
Zaki Manian
e0caf26586 RustFmt file and tests 2017-09-03 11:19:59 -07:00
Zaki Manian
1c7583776b Don't trigger lint on break or return 2017-09-03 11:17:20 -07:00
Zaki Manian
98ec8657e4 Improve the lint message 2017-09-03 09:52:28 -07:00
Zaki Manian
0233d9b0e7 Fix false positives in assignment inside the else condition 2017-09-03 08:31:15 -07:00
Zaki Manian
93e78c81a1 RustFmt changes 2017-09-02 21:33:26 -07:00
Zaki Manian
27e55c96ce Switch back to manual deref 2017-09-02 20:45:40 -07:00
Zaki Manian
789e78e72e Improved spans for lints and support match expressions 2017-09-02 20:36:24 -07:00
Zaki Manian
34edc3f782 Handle method calls 2017-09-02 15:04:52 -07:00
Zaki Manian
e7c5825378 Fix brace indentation 2017-09-02 14:20:22 -07:00
Zaki Manian
d6d78cdbbe Check method calls 2017-09-02 14:19:45 -07:00
Zaki Manian
2a97aadacf More initial work 2017-09-02 14:09:41 -07:00
Zaki Manian
9e3be6ae49 Introduce check_stmt 2017-09-02 12:20:43 -07:00
Zaki Manian
a25a172e60 Use the type from the macro 2017-09-02 11:29:01 -07:00
Zaki Manian
f581aa7779 Initial commit of unit expr 2017-09-02 11:25:33 -07:00
Andre Bogus
df29c87303 some small doc improvements 2017-09-01 22:43:34 +02:00
Oliver Schneider
045139613a
Link to current versions docs instead of master docs 2017-09-01 12:34:10 +02:00
Oliver Schneider
ff91c6359a
wiki -> docs 2017-09-01 12:34:10 +02:00
Oliver Schneider
c64073b2f5
Deprecate the wiki and remove the lint list from the README (fixes #1933) 2017-09-01 12:34:05 +02:00
Oliver Schneider
755a236641
Get rid of another handwritten Span construtor in favour of a builtin function 2017-08-31 15:00:21 +02:00
Oliver Schneider
a8cf4e8ecb
Accessing Span internals is deprecated 2017-08-31 14:47:45 +02:00
Oliver Schneider
9d6c0feef2
Rustup (fixes #2002) 2017-08-30 10:54:41 +02:00
Dan Gohman
1ea70116d3 Enable the cast_lossless warning by default. 2017-08-29 05:48:56 -07:00
Oliver Schneider
6bc7893b70 Merge pull request #1956 from sunfishcode/master
Add a lint for lossless casts.
2017-08-29 08:50:36 +02:00
Tim Nielens
ec79970771 len_without_is_empty false positive #1740 2017-08-28 23:18:12 +02:00
Oliver Schneider
73d87d966d
Update tests to current rustc 2017-08-28 18:16:16 +02:00
Dan Gohman
7714203c72 Add a lint for lossless casts. 2017-08-28 08:42:33 -07:00
Oliver Schneider
23bc6508bb Merge pull request #1861 from CBenoit/master
Add example for needless borrowed ref lint and register it
2017-08-28 14:34:30 +02:00
Tatsuyuki Ishi
b8da486ce5 Remove unused extern crates 2017-08-27 16:04:20 +09:00
Tatsuyuki Ishi
f37f2f710c Reorder allow attributes to suppress unknown lint warning 2017-08-27 16:02:05 +09:00
Andre Bogus
39ceca8893 rename TriState -> Finiteness, docs 2017-08-26 19:57:27 +02:00
Andre Bogus
6e7bc6ad9a fix match_path -> match_qpath rename 2017-08-26 00:09:31 +02:00
Andre Bogus
df903edddd New lint: (maybe_)infinite_iter
This fixes #1870 (mostly, does not account for loops yet)
2017-08-25 22:20:52 +02:00
Martin Carton
5cf3f8359f Merge pull request #1989 from Frederick888/fix-1988
Try to fix #1988
2017-08-25 12:39:53 +02:00
Frederick Zhang
70c8fe5539 fix PathParameters usage 2017-08-25 19:38:28 +10:00
Alexey Zabelin
cd57add2c3
Incorporate upstream changes 2017-08-24 20:46:40 -04:00
Alexey Zabelin
695bedbe27
Rename match_path_old to match_path
The old `match_path` was renamed to `match_qpath`.

As per #1983.
2017-08-24 20:42:50 -04:00
Oliver Schneider
ab362031ed Merge pull request #1959 from DarkEld3r/1884-borrowed-box-any
Fix borrowed_box lint for Box<Any>
2017-08-24 23:59:15 +02:00
Oliver Schneider
cb23298eff Merge pull request #1984 from MaloJaffre/fix_int_to_bits
Fix int_ty_to_nbits
2017-08-24 09:11:13 +02:00
Oliver Schneider
36e417cce5 Merge pull request #1982 from rust-lang-nursery/bytecount
new lint: naive_bytecount
2017-08-24 09:09:56 +02:00
Malo Jaffré
d6e4e0639e Fix int_ty_to_nbits
Thanks @oli-obk for the detailed instructions.
Fixes #1957.
2017-08-23 22:18:04 +02:00
Andre Bogus
6d989c729d add closure arg check, also catch non-consts 2017-08-23 17:54:35 +02:00
Stanislav Tkach
81538f6ff3 Fix 'cyclomatic complexity' warning 2017-08-23 17:13:51 +03:00
Stanislav Tkach
45ff467c31 Fix borrowed_box lint for Box<Any> 2017-08-23 17:00:39 +03:00
Andre Bogus
70e34077d5 new lint: naive_bytecount 2017-08-22 23:45:08 +02:00
Tim Nielens
572b3388ac lint #1674: lifetimed types exclusion
add expect() message and update test results
2017-08-22 19:22:47 +02:00
Tim Nielens
3f575d874b lint #1674: lifetimed types exclusion 2017-08-22 19:08:49 +02:00
Oliver Schneider
992d88ab58 Merge pull request #1977 from rust-lang-nursery/panic
Fix a panic and a false positive
2017-08-22 10:20:02 +02:00
Andre Bogus
2362177aaf fix #768 by checking for message macro expansion 2017-08-21 23:23:54 +02:00
Oliver Schneider
c3ef220bba
Rebase and update ui test 2017-08-21 14:22:41 +02:00
Benoît CORTIER
ee2f54723a
Finalize needless_borrowed_ref lint doc.
Make sure the needless_borrowed_ref.stderr in examples is up to date
too.
2017-08-21 14:02:28 +02:00
Benoît CORTIER
c00393163c
Improve needless_borrowed_ref lint: remove the hand rolled span part. 2017-08-21 14:01:31 +02:00
Benoît CORTIER
60ca61ee66
Improve needless_borrowed_ref and add suggestion to it. 2017-08-21 14:00:56 +02:00
Benoît CORTIER
2460454155
Improve needless_borrowed_ref lint comments. 2017-08-21 14:00:29 +02:00
Benoît CORTIER
0063309a00
Now register needless borrowed ref. 2017-08-21 13:59:20 +02:00
Oliver Schneider
66346b22ff Merge pull request #1973 from rust-lang-nursery/fix-1920
remove stars at the beginning of multiline comments
2017-08-21 13:52:26 +02:00
Oliver Schneider
2430e06a60 Run Dogfood for use_self 2017-08-21 13:32:12 +02:00
Oliver Schneider
3eab44acb1
Don't trigger Self suggestion inside derives 2017-08-21 12:58:06 +02:00
Oliver Schneider
56068b1b67
Fix ICE #1969 2017-08-21 12:57:33 +02:00
Oliver Schneider
2493176f0e
Version bump 2017-08-21 09:44:53 +02:00
Oliver Schneider
b005748b85 Merge pull request #1971 from Frederick888/fix-1970
Try to fix #1970
2017-08-21 09:35:59 +02:00
Oliver Schneider
5e5478a3c3 Merge pull request #1931 from rust-lang-nursery/move_links
Change all links to reflect the move to rust-lang-nursery
2017-08-21 09:35:19 +02:00
Andre Bogus
93c48a0977 remove stars at the beginning of multiline comments 2017-08-19 22:52:49 +02:00
Frederick Zhang
f770d15350 use CompilerDesugaringKind 2017-08-19 18:03:29 +10:00
Oliver Schneider
d1eecbaa2f Merge pull request #1965 from montrivo/use_self
lint #1674: replace struct name with `Self` when applicable
2017-08-18 20:54:18 +02:00
Tim Nielens
7aebe3a690 lint #1674: replace struct name with Self when applicable
SelfType const and suggestion
2017-08-18 19:46:50 +02:00
Joonas Koivunen
a5147e8a08 is_from_for_loop: document what first check matches
Removing the first check will break a lot of for-loop UI tests and the
dogfood test.
2017-08-18 17:12:00 +03:00
Joonas Koivunen
cf8e95eb22 is_from_for_desugar: add match for for _ in x
This will avoid `let_unit_value` in the examples in the ui-test.
It might match too widely.
2017-08-18 17:07:39 +03:00
Tim Nielens
7759bd6111 lint #1674: replace struct name with Self when applicable 2017-08-18 01:11:39 +02:00
Oliver Schneider
f3ae929b2d Rustup 2017-08-15 11:10:49 +02:00
Mateusz Mikula
0d244d3f39
Fix verbose_bit_mask off by one error
Fixes #1940
2017-08-14 16:22:20 +02:00
Oliver Schneider
4470d7a8ca Merge branch 'master' into move_links 2017-08-14 10:07:26 +02:00
Oliver Schneider
459cf467c5 Rustup 2017-08-14 09:54:47 +02:00
Oliver Schneider
0e4c49b145
Handfix dogfood issues with the rustfmt changes 2017-08-14 09:43:26 +02:00
Oliver Schneider
b25b6b3355
Rustfmt 2017-08-14 09:43:26 +02:00
Andre Bogus
61a73bb630 some small doc improvements 2017-08-13 00:14:28 +02:00
Frederick Zhang
709c7926d4 fix usage of for_each_relevant_impl 2017-08-09 13:21:33 +10:00
Andre Bogus
f515d7bb67 Change all links to reflect the move to rust-lang-nursery 2017-08-06 23:10:55 +02:00
Andre Bogus
0670d0b59b fixing dogfood 2017-08-06 11:09:53 +02:00
Frederick Zhang
4de37160bb fix ConstFloat usage 2017-08-06 15:06:21 +10:00
Andre Bogus
76ca4dca85 unify checks into single visitor, fix block walk 2017-08-04 07:48:43 +02:00
Andre Bogus
3b7f3dc8e7 WIP: Find binding or assignment within outer loop 2017-08-03 22:11:58 +02:00
Oliver Schneider
6bdb597a9f Fix some more dogfood issues 2017-08-01 13:05:57 +02:00
Oliver Schneider
a5fe4bed0e
The lint doesn't improve perf (yet) 2017-08-01 12:55:53 +02:00
Oliver Schneider
7102442a4b
Use the authoring tool to create a new lint 2017-08-01 12:55:52 +02:00
Oliver Schneider
3a61b452a2
Create a lint authoring helper (generates matching code) 2017-08-01 12:55:52 +02:00
Oliver Schneider
5864072eca Run rustfmt 2017-08-01 10:19:49 +02:00
Oliver Schneider
c9d9619eed update_lints.sh has a different opinion on ordering things 2017-08-01 10:18:56 +02:00
Oliver Schneider
b4d70c9420 Merge pull request #1900 from jayhardee9/luckily_literals_love_lints
Add lints for digit grouping.
2017-08-01 10:15:29 +02:00
Oliver Schneider
9d8d2d87c3 More autoclippyification 2017-08-01 09:55:17 +02:00
Oliver Schneider
4fa6f83708 Clippy fixes itself 2017-08-01 09:45:36 +02:00
Frederick Zhang
9539df06c6 use BindingAnnotation instead of BindingMode 2017-08-01 17:17:38 +10:00
Jay Hardee
9b78086ab3 Fix hints from misc_early 2017-07-31 20:20:27 -04:00
Jay Hardee
500857c944 Merge remote-tracking branch 'upstream/master' into luckily_literals_love_lints 2017-07-31 19:17:42 -04:00
Jay Hardee
06fd8784d7 Loose ends and factor out consistency logic. 2017-07-31 19:06:51 -04:00
Jay Hardee
3b56965242 Use DigitInfo instead of get_digits(). 2017-07-31 19:06:51 -04:00
Jay Hardee
a6cb1189dd do_lint() shouldn't format warnings. 2017-07-31 19:06:51 -04:00
Jay Hardee
471b6811d8 Implement method for digit grouping suggestions 2017-07-31 19:06:51 -04:00
Jay Hardee
fbbd788799 Add some structs for cleaning up lint logic later.
DigitInfo for storing radix, type, digits of a literal.
WarningType for making warning messages consistent.
2017-07-31 19:06:50 -04:00
Jay Hardee
017b77ae05 rustfmt 2017-07-31 19:06:50 -04:00
Matt Kraai
937a0aa20a Update from upstream. 2017-07-31 19:06:23 -04:00
Oliver Schneider
9967e9aacc Update to latest master 2017-07-31 12:37:38 +02:00
Oliver Schneider
72b2e9539f Get rid of double double colons 2017-07-24 16:28:41 +02:00
Matt Kraai
de3bdf5826 Set show_code_when_inline to true
Fixes #1902
2017-07-24 06:37:12 -07:00
Jay Hardee
f17def5801 Use if let over match. 2017-07-22 19:54:44 -04:00
Jay Hardee
83a6dbc828 Fix lint descriptions. 2017-07-22 19:49:47 -04:00
Jay Hardee
2abd1f73d9 Add lint for digit grouping. 2017-07-22 17:49:45 -04:00
Oliver Schneider
68948a5654
Fix various needless_range_loop false positives 2017-07-16 19:34:38 +02:00
Matt Kraai
7131fdad38 Use token_to_string instead of binop_to_string
Fixes #1887
2017-07-13 08:27:57 -07:00
Oliver Schneider
e80d883bf1 Run rustfmt 2017-07-10 10:21:21 +02:00
Oliver Schneider
a82cd77b2b Rustup to *rustc 1.20.0-nightly (d84693b93 2017-07-09)* 2017-07-10 10:17:40 +02:00
uHOOCCOOHu
14a1a08b5e
Search continue in return expr. 2017-07-05 15:57:29 +08:00
Oliver Schneider
1788f7bcde Merge pull request #1847 from Manishearth/nested_while_let
don't lint while_let_on_iterator on nested loops
2017-07-04 16:05:24 +02:00
Oliver Schneider
23b4ad501f Run rustfmt 2017-06-29 16:07:43 +02:00
messense
8ac0388307
Fix compilation on rustc 1.20.0-nightly (69c65d296 2017-06-28) 2017-06-29 21:38:25 +08:00
Oliver Schneider
6a2525ccb8 Merge pull request #1536 from CBenoit/master
Add lint `&ref x` patterns that could be just `x`
2017-06-28 18:45:51 +02:00
Oliver Schneider
d0650ae144 Update for latest master 2017-06-28 11:02:27 +02:00
Benoît CORTIER
e9964e762f Improve needless_borrowed_ref lint doc. 2017-06-26 14:42:24 +02:00
Benoît CORTIER
1cae3366ea Add needless borrowed ref lint (WIP). 2017-06-24 12:04:56 +02:00
Andre Bogus
88aa04dfa5 don't lint while_let_on_iterator on nested loops
The problem is with a nested loop, the iterator may well be reused. This
changeset introduces a false negative, when the iterator is initialized
within the outer loop. A further PR could get rid of this false negative
by checking if the iterator is indeed initialized within the outer loop.
2017-06-23 18:29:18 +02:00
Seo Sanghyeon
745233f3ab Use span_lint_and_sugg 2017-06-22 03:04:04 +09:00
Oliver Schneider
38925a55b7 Replace Range::step_by checking with Iterator::step_by 2017-06-18 16:12:04 +02:00
mcarton
9881b15822 Ignore mix of {,non-}sugared doc in doc_markdown 2017-06-17 18:24:23 +02:00
mcarton
349b45bb99 Fix spans in all cases in doc_markdown 2017-06-17 18:23:37 +02:00
mcarton
aaf9bce905 Fix spans in doc_markdown in most cases 2017-06-17 18:23:37 +02:00
mcarton
d2ef1b318d Rewrite doc_markdown to use pulldown-cmark 2017-06-17 18:23:37 +02:00
mcarton
9c9ad3e281 Add itertools and pulldown-cmark dependencies 2017-06-17 18:22:49 +02:00
messense
16a958b103
rustup to rustc 1.19.0-nightly (258ae6dd9 2017-06-15) 2017-06-16 11:57:44 +08:00
scott-linder
1ce3cbf9c4 Ignore new-without-default lint when new method has generic types
There may be no sensible `Default` impl if the result of `new` depends
on a type parameter.
2017-06-14 12:58:22 -04:00
Oliver Schneider
7056018335 Merge pull request #1501 from scott-linder/types-borrow-box
Types borrow box
2017-06-13 11:30:52 +02:00
Erick Tryzelaar
8c235d19bc in_macro check in NEEDLESS_RETURN
This allows you to define a macro like `try!(...)` that embeds an
early exit without emitting the "needless_return" warning.

Closes #1271.
2017-06-12 19:06:37 -07:00
Andre Bogus
3a8e4c33bd deal with multiple prefixed zeros in literals 2017-06-12 20:41:00 +02:00
scott-linder
1a50755f21 Document check_ty and its new is_local arg. 2017-06-12 08:43:02 -04:00
scott-linder
49bba315e4 Merge nested if into adjacent if_let_chain! 2017-06-12 08:38:29 -04:00
Cameron Steffen
1a453bf72c fix another never_loop 2017-06-11 18:37:59 -05:00
Cameron Steffen
8b00f826d7 Merge branch 'master' into never_loop 2017-06-11 18:25:26 -05:00
scott-linder
74ebe6e69e Add check_local to TypePass for BORROWED_BOX
Adds a boolean flag to indicate whether the current type in `check_ty`
is in a local declaration, as only the borrowed box lint should consider
these types.
2017-06-11 12:20:20 -04:00
scott-linder
c29f5ea83b Commit updated example stderr 2017-06-11 12:19:11 -04:00
scott-linder
deef81a3fc Use span_suggestion in borrowed_box lint 2017-06-11 12:19:11 -04:00
scott-linder
e6eaa726e2 Recurse into inner type when not &Box<T> 2017-06-11 12:19:11 -04:00
scott-linder
80cb48ca1a Actually fix the lint applied 2017-06-11 12:19:11 -04:00
scott-linder
a4c4da1c4b Fix typo in types check 2017-06-11 12:19:11 -04:00
scott-linder
711cad188a check for borrowed box types 2017-06-11 12:19:11 -04:00
Manish Goregaokar
55cb63adfe Bump to 0.0.139 2017-06-10 22:07:09 -07:00
Eduard-Mihai Burtescu
50b3d7ee9d Do not use .sty except for matching on it. 2017-06-11 06:24:13 +03:00
Eduard-Mihai Burtescu
e4ca0e515f Remove uses of span_if_local. 2017-06-11 06:15:53 +03:00
Eduard-Mihai Burtescu
e073dfe9a2 Abide by the common rustc::ty conventions. 2017-06-11 05:57:25 +03:00
Eduard-Mihai Burtescu
cd89737b21 Update for rustc 1.19.0-nightly (4bf5c99af 2017-06-10). 2017-06-11 05:34:47 +03:00
Anders Kaseorg
00b43687e5 Pass extra parameter to CrateStore::item_children for rustc nightly
rust-lang/rust#42507

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2017-06-10 01:41:17 -04:00
mcarton
bb0b597f05 Check for for loop desugaring in highering 2017-06-08 20:17:10 +02:00
Andre Bogus
a648cfeae1 better naming, Iterator::eq 2017-06-07 05:40:57 +02:00
Andre Bogus
8122d3e8cb Check for AsRef/AsMut arguments in wrong_self_convention
This fixes #451
2017-06-06 19:26:50 +02:00
mcarton
01cae3fd6d Rustup to *rustc 1.19.0-nightly (0418fa9d3 2017-06-04)* 2017-06-05 21:49:26 +02:00
Eduard-Mihai Burtescu
010974fafe Finish rustup. 2017-06-05 00:28:01 +03:00
mcarton
edef6c53c0 Continue work on rustup 2017-06-04 20:42:13 +02:00
messense
67cccc5c16
Try to fix compilation error on rustc 1.19.0-nightly (4ed2edaaf 2017-06-01) 2017-06-02 12:13:04 +08:00
Cameron Steffen
4f374824b1 fix never_loop 2017-06-01 21:31:42 -05:00
Cameron Steffen
a73edc0944 add tests and fixes 2017-06-01 00:06:45 -05:00
Cameron Steffen
20728fb0d0 fix never_loop 2017-05-30 22:46:02 -05:00
Manish Goregaokar
8d3c48601d Rustup to rustc 1.19.0-nightly (557967766 2017-05-26) 2017-05-26 22:25:58 -07:00
Georg Brandl
3ba4e8b3fa Demote the never_loop lint to Allow for now.
Also add "known problem" to the description, with link to #1586.
2017-05-26 18:02:43 +02:00
Georg Brandl
06472ca651 Update to fix array_indexing failures: RangeInclusive::NonEmpty is gone 2017-05-26 16:54:07 +02:00
Oliver Schneider
ff873cc900 Rustup to rustc 1.19.0-nightly (5b13bff52 2017-05-23) 2017-05-24 14:19:30 +02:00
messense
30b94b0fb0
Fix build failure on rustc 1.19.0-nightly (0ed1ec9f9 2017-05-18) 2017-05-19 16:54:02 +08:00
Andre Bogus
e75d7ffd2d distinguish debug_assert 2017-05-15 22:49:20 +02:00
mcarton
b6326121ab Fix span in blacklisted_name 2017-05-14 14:58:16 +02:00
Oliver Schneider
4d5e25f31d Update to rustc 1.19.0-nightly (826d8f385 2017-05-13)
fixes #1759, #1758
2017-05-14 09:56:10 +02:00
Oliver Schneider
dfc7d2afd4 Run rustfmt 2017-05-12 12:09:52 +02:00
Oliver Schneider
29cb2f7eba Fix various wrong uses of NestedVisitorMap::All 2017-05-12 12:02:42 +02:00
Oliver Schneider
672045689e Fix #1730 2017-05-11 19:02:19 +02:00
Oliver Schneider
51f6aeae51
Reduce code duplication 2017-05-11 19:00:14 +02:00
Oliver Schneider
81b35d197b Fixes #1735 2017-05-11 16:32:06 +02:00
Oliver Schneider
2cd3366817 Fixes #443 2017-05-10 13:42:19 +02:00
Oliver Schneider
5997fb952f
Fix a future compat lint that we triggered 2017-05-10 09:21:21 +02:00
Oliver Schneider
3b3e47f451 Merge pull request #1738 from Manishearth/serde
Update serde to 1.0
2017-05-10 08:55:36 +02:00
Oliver Schneider
f48281b632 Split high-cyclomatic-complexity function into two 2017-05-09 17:15:28 +02:00
Oliver Schneider
a67774530f Don't trigger some lints inside macros 2017-05-09 17:15:13 +02:00
Oliver Schneider
d2dab198fa Forgot doc comments 2017-05-09 16:02:48 +02:00
Oliver Schneider
dee53fa1e2 Merge pull request #1728 from Manishearth/inspector
Print type adjustments in the inspector
2017-05-09 15:26:01 +02:00
Oliver Schneider
31b2bf4ab9 Update our config reading to serde 1.0 2017-05-09 15:23:38 +02:00
Oliver Schneider
8225c23a33 Update to serde 1.0 2017-05-09 15:23:10 +02:00
Niklas Fiekas
956043e319 Add KiB to doc-valid-idents 2017-05-06 21:31:54 +02:00
Luis de Bethencourt
50b6dd43e2 fix typo in eval_order_dependence.rs
Fixing a "the the" to "the".
2017-05-05 17:52:01 +01:00
Oliver Schneider
eb93058dd5 Also print type adjustments in the inspector 2017-05-05 14:25:54 +02:00
Tatsuyuki Ishi
7e514cb55f Fix for rustc-1.19.0-nightly (2017-04-04) 2017-05-03 22:58:23 +09:00
Oliver Schneider
1522a4913f Run rustfmt 2017-05-03 14:13:50 +02:00
Oliver Schneider
a6c8464dde Update to rustc 1.19.0-nightly (6a5fc9eec 2017-05-02) 2017-05-03 12:51:47 +02:00
Oliver Schneider
b84e71c2b1 Update to latest nightly 2017-05-02 16:56:36 +02:00
Boris-Chengbiao Zhou
36f75e8015 Fix two doc comments 2017-05-01 16:57:27 +02:00
mcarton
76041b8ffa
Rustup to *rustc 1.19.0-nightly (06fb4d256 2017-04-30)* 2017-05-01 13:43:16 +02:00
Oliver Schneider
88d3898426 Fix dogfood tests 2017-04-28 18:13:09 +02:00
Oliver Schneider
e3084cc085 Fix #1698 (ICE regression in clippy's const eval) 2017-04-28 18:10:10 +02:00
Oliver Schneider
7aa42073f2 Fix op_ref false positives 2017-04-28 17:03:47 +02:00
Oliver Schneider
81a55330dc Use utils::is_copy instead of hand-rolling it 2017-04-28 17:03:18 +02:00
Oliver Schneider
b8d577d82d Rustup 2017-04-28 13:00:42 +02:00
Oliver Schneider
9abef6affd
Bump the version 2017-04-27 14:13:14 +02:00
Oliver Schneider
3b73663506 Update to latest rustc version 2017-04-27 14:00:35 +02:00
Oliver Schneider
fed8491476 Merge pull request #506 from yati-sagade/master
Lint for pointing out needless continue statements, fixes #111
2017-04-25 12:37:24 +02:00
Trevor Spiteri
45bbff66cd Add "MinGW" to doc-valid-idents 2017-04-25 11:38:37 +02:00
Oliver Schneider
68369e5d37
Merge remote-tracking branch 'origin/master' into yati_master 2017-04-25 10:31:40 +02:00
Oliver Schneider
216ce57fee Update for changes in rustc 2017-04-24 13:35:14 +02:00
Bastian Köcher
4024f2ce5b Fixes compilation error with latest nightly rust (1.18.0-nightly (9f2abadca 2017-04-18)) 2017-04-19 12:17:12 +02:00
Mrmaxmeier
89f0f323bb Rustup to 1.18.0-nightly (d5cf1cb64 2017-04-15) 2017-04-16 18:38:17 +02:00
Yati Sagade
cac15d24f9 needless_continue: Remove indentation of suggestion code.
As per a suggestion by Oliver on the PR thread, maintaining indentation
in the suggested code is futile because of the changes in the compiler
and the messiness of real-world code. rustfmt will do the indentation if
required, so we don't need to do it.
2017-04-13 21:48:52 +02:00
Oliver Schneider
5842463562 Run rustfmt 2017-04-12 11:06:32 +02:00
Oliver Schneider
7ee0d4f9c2 Dogfood tests 2017-04-12 10:55:34 +02:00
Oliver Schneider
679e98530a
Merge remote-tracking branch 'origin/master' into yati 2017-04-11 16:16:10 +02:00
Oliver Schneider
5f85ea8ef4 Add newline at end of file 2017-04-11 15:54:48 +02:00
Oliver Schneider
21d8fbd082 Don't lint for lifetime bounds required by traits 2017-04-11 15:44:13 +02:00
Oliver Schneider
856b1f1242 Remove now useless allow(unused_lifetimes) from clippy 2017-04-11 14:46:54 +02:00
Oliver Schneider
2eae102cd1 Don't lint lifetimes after trait objects 2017-04-11 14:29:58 +02:00
Oliver Schneider
8bb0a4d667 Fix more doc issues 2017-04-11 14:10:11 +02:00
Oliver Schneider
9a4c0a1c72 Don't lint about unused lifetimes if the lifetimes are used in the body of the function 2017-04-11 14:09:58 +02:00
Oliver Schneider
38b2215060 Dogfood 2017-04-10 15:14:54 +02:00
Oliver Schneider
03a0b18a85 Fix some doc errors 2017-04-10 15:10:29 +02:00
Oliver Schneider
b76ce176bb Fix op_ref in case of nonexisting operations 2017-04-10 15:10:19 +02:00
Yati Sagade
8ea6d6a8d2 needless_continue: Refactor to use stuff from utils, and move some stuff to utils.
I had my own implementation of what `trim_multiline()` seems to be doing, so
I just started using `trim_multiline()`. Some other functions, like
those block alignment, are general enough to be used elsewhere, so moved
them to utils.
2017-04-09 14:07:11 +02:00
Yati Sagade
38238f576d [needless_continue] Add comments explaining terminology used thoughout in the code. 2017-04-08 23:30:34 +02:00
Yati Sagade
9396120008 More dogfood test fixes. 2017-04-08 23:30:34 +02:00
Yati Sagade
7b4a12fd21 Fix lint warnings from dogfooding tests. 2017-04-08 23:30:34 +02:00
Yati Sagade
240471f926 Needless continue: This is a complete rewrite of this lint as an early-pass lint.
The previous version had troubles computing suggestions without macro expansions
creeping in. This fixes it by using original_sp, which works on AST nodes.
2017-04-08 23:30:34 +02:00
Oliver Schneider
c657d603ba
Bump the version 2017-04-07 11:25:00 +02:00
Oliver Schneider
f1e905f620 Reintroduce #768 so we can publish 2017-04-07 11:21:39 +02:00
Oliver Schneider
3052000c73 Merge pull request #1649 from ensch/master
Fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30)
2017-04-07 11:13:44 +02:00
Oliver Schneider
a679f41fa3 Fix fallout 2017-04-06 16:49:13 +02:00
Oliver Schneider
6d921b4734 fix various rustup failures 2017-04-06 16:48:48 +02:00
Peter Gerber
71a788cbd7 correct error message for option_map_unwrap_or_else lint
Remove erroneous "with " in suggested alternative call.
2017-04-01 15:54:27 +02:00
Enrico Schmitz
7a4f7c335b Remove unused cs parameter for is_macro and friends 2017-04-01 00:14:04 +02:00
Enrico Schmitz
8aef64dfe8 Fix src/needless_bool.rs by using ExprBlock(block) = then 2017-03-31 23:46:08 +02:00
Enrico Schmitz
8297c19fcc Fixing src/copies.rs and src/entries.rs by using ExprBlock(block) = then.node 2017-03-31 23:36:45 +02:00
Enrico Schmitz
8f9fb97eb6 First try for a fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30 2017-03-31 19:23:35 +02:00
Oliver Schneider
0ae1a77a2e Do some additional cleanup around InternedString and Symbol 2017-03-30 10:21:13 +02:00
Oliver Schneider
d9e69a70df
Fix fallout 2017-03-30 09:46:04 +02:00
Oliver Schneider
5de367f793
Don't create additional references when invoking binary operators 2017-03-30 09:46:00 +02:00
Oliver Schneider
5547fbb770 Fix accidental newline in diagnostic and missing entries in lint_array! 2017-03-24 10:21:12 +01:00
Oliver Schneider
8ae82eb4ab
Merge remote-tracking branch 'origin/master' into 1537-drop_copy 2017-03-24 10:11:46 +01:00
Oliver Schneider
4f473f7f60 Merge pull request #1617 from sinkuu/proc_macro_pass_by_value
Filter out proc_macro_derive functions
2017-03-24 10:10:24 +01:00
Oliver Schneider
b1b43da20a Merge pull request #1627 from Manishearth/dont-panic
Don't panic if traits not found
2017-03-24 10:09:59 +01:00
sinkuu
a712271df6 Filter out proc_macro_derive functions (fixes #1615) 2017-03-21 17:09:21 +09:00
Oliver Schneider
f2e8f526e6 Run rustfmt 2017-03-21 08:57:54 +01:00
Enrico Schmitz
fa0a670201 Simplify attr_is_cfg in returns.rs 2017-03-21 00:34:05 +01:00
Enrico Schmitz
f8df4aed0f Fix for rustc 1.17.0-nightly (6eb9960d3 2017-03-19) 2017-03-21 00:22:19 +01:00
Andre Bogus
30e0c0fc96 fix typos 2017-03-17 21:21:32 +01:00
Andre Bogus
c2ff30375a Don't panic if traits not found 2017-03-16 08:57:17 +01:00
Andre Bogus
bc934a3ed9 Rustup: Add ExprKind::Catch 2017-03-16 00:56:21 +01:00
Oliver Schneider
4c6e225830
Run rustfmt 2017-03-13 11:40:56 +01:00
Oliver Schneider
2d145b2ef5 don't lint macro_rules! in items_after_statements 2017-03-13 11:09:56 +01:00
Oliver Schneider
40d50fe8b2 Don't lint nan_cmp and zero_ptr in constants 2017-03-07 12:58:07 +01:00
Oliver Schneider
2a8fca599b Mostly apply rustfmt 2017-03-05 10:27:20 +01:00
Enrico Schmitz
1f8b212298 CFG::new now wants Body instead of Expr 2017-03-05 02:15:39 +00:00
Oliver Schneider
ac48e09255 Simplify snippet body by forwarding to snippet_opt 2017-03-03 16:56:35 +01:00
Oliver Schneider
a33930f815 Fix single-match-else in the presence of macros expressions expanding to blocks 2017-03-03 16:56:16 +01:00
Oliver Schneider
a161d3f8f4 deduplicate single_match_else reporting 2017-03-03 15:44:23 +01:00
Oliver Schneider
26270c7451 Fix ice 2017-03-03 14:46:33 +01:00
Sander Maijers
5ab8e7d95a Add ECMAScript to default doc-valid-idents
FYI, https://en.wikipedia.org/wiki/ECMAScript .
2017-03-03 12:28:15 +01:00
Oliver Schneider
51295960bf Fix invalid_upcast_comparisons lint for same size sign casts 2017-03-02 10:41:20 +01:00
Oliver Schneider
7bfa53f504 Almost there 2017-03-01 18:46:18 +01:00
Enrico Schmitz
6f0fd15da9 Handle all types in to_const_range 2017-03-01 16:17:30 +01:00
Enrico Schmitz
353945a01b Use expect instead of unwrap to make clippy happy 2017-03-01 15:42:58 +01:00
Enrico Schmitz
0cf7990e72 Also handle ConstFloat::F32 in is_allowed 2017-03-01 15:33:32 +01:00
Enrico Schmitz
7ba3a713a1 Using to_u128_unchecked and int_type instead of creating a ConstantInt 2017-03-01 15:26:40 +01:00
Enrico Schmitz
63296f0393 Handle signed types in node_as_const_fullint 2017-03-01 15:06:53 +01:00
Enrico Schmitz
7e24e1db09 Using f.unsafety() instead of f.skip_binder().unsafety 2017-03-01 14:46:35 +01:00
Enrico Schmitz
8380dd31da Fix wrong life time for all_ranges 2017-03-01 14:45:45 +01:00
Enrico Schmitz
38251dccb0 Array lengths are usize, so you need ConstInt::Usize(...) 2017-03-01 14:44:52 +01:00
Oliver Schneider
a1dc49c51b Remove unused import 2017-03-01 14:07:08 +01:00
Enrico Schmitz
f66e0aad84 Fix for rustc 1.17.0-nightly (be760566c 2017-02-28) 2017-03-01 13:24:19 +01:00