Commit graph

941 commits

Author SHA1 Message Date
Andy Russell
9ede56f383
use derive feature over serde_derive crate 2019-05-09 13:05:34 -04:00
Matthias Krüger
857c2c53bf rustup https://github.com/rust-lang/rust/pull/60586
cc https://github.com/rust-lang/rust/issues/60623
2019-05-08 06:58:37 +02:00
Matthias Krüger
d618637c05 Rustup to rustc 1.36.0-nightly (13fde05b1 2019-05-03) 2019-05-03 22:28:34 -07:00
Matthias Krüger
f195680edb more Use->DropTemps fixes 2019-05-01 23:04:35 +02:00
Matthias Krüger
24e856f10a rustup https://github.com/rust-lang/rust/pull/60417/
cc https://github.com/rust-lang/rust/issues/60448
2019-05-01 22:18:16 +02:00
André Luis Leal Cardoso Junior
e428862c95 Update find(p).map(p) occurrences to use find_map(p) 2019-04-30 16:45:32 -03:00
Michael Wright
5ad79c2b3d Fix breakage due to rust-lang/rust#60225 2019-04-28 09:11:20 +02:00
Philipp Hansch
1f5a3c6e52
Rustup for https://github.com/rust-lang/rust/pull/59042 2019-04-25 07:29:23 +02:00
Manish Goregaokar
7e2043de2f Ignore all enum and struct constructors in lints about *or(call()) 2019-04-23 08:01:42 -07:00
Philipp Hansch
850c24edd3
Fix false positive in module_name_repetitions lint
This lint was triggering on modules inside expanded attrs, like
for example `#[cfg(test)]` and possibly more.
2019-04-19 12:53:03 +02:00
Matthew Kraai
753c39672e Use lint pass macros
Fixes #3917.
2019-04-17 09:35:22 -07:00
flip1995
ce87051779 Fix lint_without_lint_pass internal lint 2019-04-17 06:51:21 -07:00
flip1995
840eac2c05
Use {get,match}_def_path from LateContext 2019-04-17 12:53:29 +02:00
flip1995
2f100e04af
Remove uplifted functions {get,match}_def_path from Clippy 2019-04-17 12:51:57 +02:00
flip1995
5361b842d1
Remove clippy::default_hash_types internal lint 2019-04-15 13:21:52 +02:00
Manish Goregaokar
2156f6733e Clean up unused cx parameters 2019-04-14 13:23:43 -07:00
Manish Goregaokar
1b2f2be085 Remove now-unnecessary calls to node_to_hir_id 2019-04-14 13:11:31 -07:00
flip1995
3fe5eea4e4
Fix get_def_path
This fix is obsolet once rust-lang/rust#59779 and #3926 is merged.
2019-04-12 11:59:06 +02:00
Tomas Koutsky
603996c9d5 Support updated type dependent def ID getter 2019-04-10 16:18:02 +02:00
Andy Russell
0d50d44ea6
use a multispan for MANY_SINGLE_CHAR_NAMES 2019-04-05 10:07:39 -04:00
flip1995
bbb7963735
Fix dogfood error of question_mark lint fix 2019-04-01 20:37:05 +02:00
flip1995
6f01ecfefd
Fix question_mark lint+test 2019-04-01 20:37:05 +02:00
Oliver Scherer
d020565ed2 Hacky rustup 2019-03-26 10:55:03 +01:00
Mateusz Mikuła
6cb0605600 Cargo fmt 2019-03-18 13:39:11 +01:00
Mateusz Mikuła
0ea5e38a9e name -> check_name 2019-03-18 12:54:10 +01:00
Mateusz Mikuła
e63a685412 NestedMetaItemKind -> NestedMetaItem 2019-03-18 12:54:10 +01:00
Mateusz Mikuła
cb3aa7480c Fix path_qualified
As suggested by eddyb
2019-03-18 12:54:10 +01:00
Mateusz Mikuła
9b7ff501a6 Replace most of ty:Ty with Ty 2019-03-18 12:54:10 +01:00
flip1995
4832a853c7
Feed dog 2019-03-16 15:39:02 +01:00
flip1995
180e07e99e
Adapt paths to new formatting 2019-03-16 15:22:31 +01:00
flip1995
3c4616d303
cargo fmt 2019-03-16 11:51:57 +01:00
flip1995
254fad95de
Use LocalInternedString inside of AbsolutePathPrinter 2019-03-16 11:45:29 +01:00
flip1995
dae5c9c685
AbsolutePathBuffer -> AbsolutePathPrinter 2019-03-16 11:17:36 +01:00
flip1995
31435cd7f5
Reimplement AbsolutePathBuffer 2019-03-15 23:42:46 +01:00
Philipp Hansch
8a59f81180
Rename span_lint_node* functions to span_lint_hir*
Because they now take a `hir_id` instead of a `node_id` argument.
2019-03-12 08:01:21 +01:00
Alexander Regueiro
d2b85323ad Addressed points raised in review. 2019-03-10 18:06:28 +00:00
Alexander Regueiro
d43966a176 Various cosmetic improvements. 2019-03-10 18:06:28 +00:00
bors
ccfbfb8097 Auto merge of #3860 - phansch:refactor_out_opt_def_id, r=flip1995
Refactor: Remove utils::opt_def_id

This removes some indirection. Probably this method was uplifted to
rustc at some point?
2019-03-09 12:05:41 +00:00
Philipp Krones
c32135a87f
Rollup merge of #3857 - phansch:document_path_qpath, r=flip1995
Document match_path, improve match_qpath docs

Inching towards enabling `#[deny(missing_docs)]` in utils 📜
2019-03-09 12:24:44 +01:00
Philipp Krones
1902384d15
Rollup merge of #3851 - phansch:refactor_trait_stuff, r=flip1995
Refactor: Extract `trait_ref_of_method` function

This pattern was used in three places after #3844, so I think it's worth moving it into `utils/mod.rs` and documenting it.
2019-03-09 12:24:42 +01:00
Philipp Hansch
9d97ed6faa
Refactor: Remove utils::opt_def_id
This removes some indirection. Probably this method was uplifted to
rustc at some point?
2019-03-08 14:14:41 +01:00
Philipp Hansch
f04acdd463
Document match_path, improve match_qpath docs 2019-03-08 09:50:20 +01:00
Philipp Krones
837d675afd
Update clippy_lints/src/utils/mod.rs
Co-Authored-By: phansch <dev@phansch.net>
2019-03-08 09:40:12 +01:00
Philipp Hansch
65694cc6c8
Fix doctest 2019-03-08 09:10:41 +01:00
ljedrz
5d78250c75 align with rust-lang/rust/#58992 2019-03-07 21:51:05 +01:00
rchaser53
ae787d954e fix missing a semicolon 2019-03-07 23:26:47 +09:00
Philipp Hansch
e1d47cd5f1
Refactor: Extract trait_ref_of_method function 2019-03-07 08:17:43 +01:00
Félix Fischer
ddc718087f Renamed: Cyclomatic Complexity -> Cognitive Complexity
* Ran automatic naming update

* Formalized rename of `cyclomatic_complexity` to `cognitive_complexity`
** Added the rename to `lib.rs`
** Added rename test

* Added warning for deprecated key `cyclomatic_complexity_threshold` and tests for it

* Added deprecation status for Clippy's builtin attribute

* Updated tests for new builtin attribute renaming
2019-03-06 10:07:38 -03:00
Andy Russell
fe96ffeac9
move lint documentation into macro invocations 2019-03-05 18:45:08 -05:00
ljedrz
f3363b9cf2 align with rust-lang/rust/#58836 2019-03-01 19:10:14 +01:00
ljedrz
f2587703cc enable rust-lang/rust#58754 2019-03-01 19:10:14 +01:00
flip1995
1463d6f69f
Error an unknown or deprecated Clippy attribute 2019-02-28 16:44:42 +01:00
bors
412d41ae86 Auto merge of #3814 - ljedrz:HirIdification_lockstep_upgrade, r=phansch
HirIdify some lints

Unblocks https://github.com/rust-lang/rust/pull/58561 (a part of [rust-lang/rust#57578](https://github.com/rust-lang/rust/pull/57578)). Can we branch it like with https://github.com/rust-lang/rust-clippy/pull/3790? I can rebase on a different commit if need be.

Haven't had time to run tests yet, so I'd wait for Travis 🙈.
2019-02-26 10:43:50 +00:00
bors
1ac6f4e9ae Auto merge of #3772 - flip1995:ice-3719, r=Manishearth
Fix ICE #3719+#3718 in lint match_ref_pats

Fixes #3719
This conveniently also fixes #3718

The ICE occurs when the match expression was a macro call, where the macro was defined in another file. Since we don't have the ability to reproduce this behavior with our UI tests (AFAIK), I couldn't add a test reproducing this ICE.. However, I added a test which is related to the ICE, to show the new behavior of the lint.

I tested it with the mscheme repo locally and the ICE didn't happen anymore.

r? @matthiaskrgr
2019-02-25 12:30:35 +00:00
ljedrz
7bc2e1d60d fix: replace wrong id 2019-02-25 11:06:46 +01:00
Philipp Hansch
bd949328f1
Make DiagnosticWrapper private
It's doesn't have to be public anywhere outside of clippy_lints
2019-02-25 07:19:56 +01:00
ljedrz
8dac8a6ba4 HirIdify some lints 2019-02-24 20:49:43 +01:00
bors
5833e4d26e Auto merge of #3810 - phansch:refactor/extract_module, r=flip1995
Extract diagnostics module and document some functions

This moves the lint building functions from `utils/mod.rs` to their own
`utils/diagnostics.rs` file. Also adds documentation for three of them.
2019-02-24 15:35:01 +00:00
bors
1ce961f083 Auto merge of #3790 - ljedrz:HirIdify_intravisit, r=phansch
partially HirIdify lints

Enables https://github.com/rust-lang/rust/pull/58232 (a part of https://github.com/rust-lang/rust/pull/57578).
2019-02-24 14:32:55 +00:00
Philipp Hansch
7d883cddbc
Extract diagnostics module and document some functions
This moves the lint building functions from `utils/mod.rs` to their own
`utils/diagnostics.rs` file. Also adds documentation for three of them.
2019-02-24 14:11:05 +01:00
Philipp Hansch
ff1b1a7c9f
Document some span_lint_* util functions 2019-02-24 09:49:17 +01:00
bzzzz
7767b3a081 Fixed formatting and typo 2019-02-20 10:12:24 -08:00
ljedrz
1fac380886 partially HirIdify lints 2019-02-20 13:16:16 +01:00
bzzzz
f9c6682827 Make needless_range_loop not applicable to structures without iter method 2019-02-20 00:10:25 -08:00
flip1995
75f39881d4
Document the new Sugg functions 2019-02-19 21:34:14 +01:00
flip1995
1a86d80c10
Implement Sugg::hir_with_macro_callsite 2019-02-19 21:34:14 +01:00
Michael Howell
2df14c3701 Add a lint to warn on T: Drop bounds
**What it does:** Checks for generics with `std::ops::Drop` as bounds.

**Why is this bad?** `Drop` bounds do not really accomplish anything.
A type may have compiler-generated drop glue without implementing the
`Drop` trait itself. The `Drop` trait also only has one method,
`Drop::drop`, and that function is by fiat not callable in user code.
So there is really no use case for using `Drop` in trait bounds.

**Known problems:** None.

**Example:**
```rust
fn foo<T: Drop>() {}
```
2019-02-17 22:53:08 -07:00
flip1995
10811d5d89
Fix breakage from rust-lang/rust#58296 2019-02-14 14:01:43 +01:00
flip1995
5a3cd31c9e
Rustup
cc rust-lang/rust#58137
2019-02-13 22:08:17 +01:00
Grzegorz
16881390e1 removing redundant closures in the whole project 2019-02-10 13:35:44 +01:00
bors
5725726345 Auto merge of #3751 - h-michael:opt-def-id, r=phansch
Use Hir::Def opt_def_id

related with: https://github.com/rust-lang/rust-clippy/pull/3750#issuecomment-462010225

Using `def.opt_def_id` in `opt_def_id` before replacing all all at once.
2019-02-09 12:01:45 +00:00
Hirokazu Hata
71dfbe2072 Use Hir::Def opt_def_id 2019-02-09 13:28:21 +09:00
bors
77435f9938 Auto merge of #3748 - phansch:uitest, r=oli-obk
Add a uitest subcommand to simplify UI test invocation

This makes running single tests a lot easier.

It's now

`TESTNAME=xxx cargo uitest`

instead of

`TESTNAME=xxx cargo test --test compile-test`
2019-02-09 04:09:25 +00:00
Hirokazu Hata
66f8fa320b Add new Def type ConstParam 2019-02-09 11:42:13 +09:00
Philipp Hansch
f934f98111
Add a uitest subcommand to simplify UI test invocation
This allows to run

`TESTNAME=xxx cargo uitest`

instead of

`TESTNAME=xxx cargo test --test-compile-test`
2019-02-08 08:09:37 +01:00
bors
e176324fc5 Auto merge of #3665 - jsgf:master, r=oli-obk
Start making clippy easier to invoke in non-cargo contexts

Clippy (clippy-driver) currently has a couple of strong but unnecessary couplings with cargo. This series:
1. makes detection of check builds more robust, and
2. make clippy-driver use the --sysroot specified on the command line as its internal sysroot.
2019-02-06 15:43:07 +00:00
bors
4259377ea6 Auto merge of #3725 - mikerite:fix-2728, r=phansch
Fix `cast_sign_loss` false positive

This checks if the value is a non-negative constant before linting about
losing the sign.

Because the `constant` function doesn't handle const functions, we check if
the value is from a call to a `max_value` function directly. A utility method
called `get_def_path` was added to make checking for the function paths
easier.

Fixes #2728
2019-02-04 05:52:44 +00:00
Michael Wright
f3ee53d225 Document get_def_path 2019-02-04 07:30:24 +02:00
Michael Wright
c02367c4e9 Fix breakage due to rust-lang/rust#58079
The rustc change added HirId to a few nodes. As I understand it, the plan is
to remove the NodeId from these nodes eventually. Where the NodeId was
not being matched, I used `..` to try and avoid further breakage. Where it
was, I used `_` to make the fix easier when NodeId is removed.
2019-02-03 09:12:07 +02:00
Jeremy Fitzhardinge
86c513e605 Let CLIPPY_CONF_DIR be used to start search for config, and fall back to
CARGO_MANIFEST_DIR if it isn't set. If CARGO_MANIFEST_DIR isn't set, fall back
"." rather than panicing.

Issue #3663
2019-02-02 11:43:21 -08:00
Unknown
c1f4e18453 Adding back tests, but also reducing threshold by 1 2019-02-01 13:21:19 -05:00
Araam Borhanian
1169066a0b Adding lint for too many lines. 2019-02-01 13:21:19 -05:00
Michael Wright
3cf8c0b3b5 Fix cast_sign_loss false positive
This checks if the value is a non-negative constant before linting about
losing the sign.

Because the `constant` function doesn't handle const functions, we check if
the value is from a call to a `max_value` function directly. A utility method
called `get_def_path` was added to make checking for the function paths
easier.

Fixes #2728
2019-01-31 06:32:29 +02:00
Philipp Hansch
d0d7c5e922
cargo fmt 2019-01-29 19:56:19 +01:00
Philipp Hansch
0c6bdda562
Use built-in entry_fn detection over self-built 2019-01-29 08:19:05 +01:00
Philipp Hansch
c0a02691d8
cargo fmt 2019-01-29 08:19:05 +01:00
Philipp Hansch
c3980bf0bc
Add initial version of const_fn lint 2019-01-29 08:19:05 +01:00
bors
410d5ba6c3 Auto merge of #3700 - phansch:would_you_like_some_help_with_this_const_fn, r=oli-obk
Prevent incorrect cast_lossless suggestion in const_fn

`::from` is not a const fn, so applying the suggestion of
`cast_lossless` would fail to compile. The fix is to skip the lint if
the cast is found inside a const fn.

Fixes #3656
2019-01-28 14:30:18 +00:00
Oliver Scherer
7b90cb529a Update more changed iterator paths 2019-01-28 10:16:34 +01:00
Oliver Scherer
36245feeb0 Update changed iterator paths 2019-01-28 10:09:45 +01:00
Matthias Krüger
3a96d6b603 rustup https://github.com/rust-lang/rust/pull/57907/
for file in `fd \.rs$` ; do sed  -i  s/span_suggestion_with_applicability/span_suggestion/g $file ; done

for file in `fd \.rs$` ; do sed  -i  s/span_suggestion_short_with_applicability/span_suggestion_short/g $file ; done

for file in `fd \.rs$` ; do sed  -i  s/span_suggestions_with_applicability/span_suggestions/g $file ; done
2019-01-27 13:33:56 +01:00
Matthias Krüger
e9e0a7e3bd rustup https://github.com/rust-lang/rust/pull/57726 2019-01-27 01:42:34 +01:00
Philipp Hansch
8c416c3197
Prevent incorrect cast_lossless suggestion in const_fn
`::from` is not a const fn, so applying the suggestion of
`cast_lossless` would fail to compile. The fix is to skip the lint if
the cast is found inside a const fn.
2019-01-26 10:57:15 +01:00
bors
a069320fd7 Auto merge of #3684 - g-bartoszek:sugg-snippet-modifications, r=phansch
"make_return" and "blockify" convenience methods, fixes #3683

…ed them in "needless_bool".
2019-01-22 20:18:11 +00:00
Oliver Scherer
d6c806378e Rustfmt all the things 2019-01-22 16:27:42 +01:00
Oliver Scherer
38cdf63acf Don't make decisions on values that don't represent the decision 2019-01-22 15:28:51 +01:00
Oliver Scherer
3168023cc8 Rustup 2019-01-22 15:17:05 +01:00
Grzegorz Bartoszek
0f5c43a722 Added "make_return" and "blockify" convenience methods in Sugg and used them in "needless_bool". 2019-01-22 14:07:53 +01:00
Michael Wright
a747dbb04f Fix breakage due to rust-lang/rust#57651 2019-01-20 22:56:07 +02:00
Michael Wright
8747691bea Run rustfmt 2019-01-20 12:49:45 +02:00
Michael Wright
f51f0178dd Fixed breakage due to rust-lang/rust#57489 2019-01-20 12:21:30 +02:00
Shotaro Yamada
2ee713dc7b Catch up with format_args change
Catches up with a change in rust-lang/rust#57537

Happened to fix a bug in `expect_fun_call`, that is the lint ignores more than
one arguments to `format`.
2019-01-19 21:18:31 +09:00
Philipp Hansch
38d4ac7cea
Remove all copyright license headers
Discussion previously happened in https://github.com/rust-lang/rust/pull/43498
2019-01-08 21:46:39 +01:00
Matthias Krüger
3389a68834 Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
This reverts commit 0a6593cd1b, reversing
changes made to 5277a1fb6c.

This hopefully fixes #3628
2019-01-05 10:19:04 +01:00
bors
756b32e1e2 Auto merge of #3623 - phansch:rustup, r=flip1995
rustup: https://github.com/rust-lang/rust/pull/55517

None
2019-01-03 22:29:09 +00:00
Philipp Hansch
d1fffe07c5
rustup: https://github.com/rust-lang/rust/pull/55517 2019-01-03 21:54:57 +01:00
John Kåre Alsaker
3af68f831a Make clippy work with parallel rustc 2019-01-03 19:18:06 +01:00
bors
0a6593cd1b Auto merge of #3603 - xfix:random-state-lint, r=phansch
random_state lint
2019-01-03 02:00:46 +00:00
bors
85ba5f0f17 Auto merge of #3608 - phansch:improve_util_docs, r=oli-obk
Some improvements to util documentation

None
2018-12-31 12:03:28 +00:00
Philipp Hansch
cc76384807
Some improvements to util documentation 2018-12-31 12:12:50 +01:00
Max Taldykin
911a752561 Check pattern equality while checking declaration equality 2018-12-30 14:01:56 +03:00
Konrad Borowski
1130bbc26f Merge branch 'master' of https://github.com/rust-lang/rust-clippy into random-state-lint 2018-12-30 11:43:20 +01:00
Konrad Borowski
a6c4eaa93c random_state lint 2018-12-30 02:45:34 +01:00
Matthias Krüger
e590025f61 rustup https://github.com/rust-lang/rust/pull/56225/
item.name -> item.ident.name
2018-12-30 01:09:24 +01:00
Konrad Borowski
3f62fc3a7e Remove crate:: prefixes from crate paths
This is somewhat misleading, as those are actually external crates,
and don't need a crate:: prefix.
2018-12-29 16:05:49 +01:00
flip1995
909bfd3cd8
Match on ast/hir::ExprKind::Err 2018-12-28 13:31:19 +01:00
Lucas Lois
de42dfbab7 Changes lint sugg to bitwise and operator & 2018-12-17 15:32:24 -03:00
Philipp Hansch
ee2abc36a3
Add 'CamelCase' to doc_valid_idents 2018-12-11 19:37:43 +01:00
bors
ada0b2b095 Auto merge of #3518 - sinkuu:redundant_clone_tw, r=phansch
Lint redundant clone of fields

Makes `redundant_clone` warn on unnecessary `foo.field.clone()` sometimes (it can detect an unnecessary clone only if the base of projection, `foo` in this case, is not used at all after that). This is enough for cases like `returns_tuple().0.clone()`.
2018-12-10 18:55:49 +00:00
Shotaro Yamada
109d4b1ab3 Lint redundant clone of projection 2018-12-10 08:48:14 +09:00
Matthias Krüger
273dc82872 run rustfmt 2018-12-09 12:03:10 +01:00
Philipp Hansch
d90cad24a1
Fix c_void false positive caused by libc refactoring
The path of `libc::c_void` has changes in 5c1a6b8a6d
The DefId path is now always platform specific like
`libc::windows::c_void`. This fixes our c_void detection to only check
the first and last elements.
2018-12-08 12:05:11 +01:00
Matthias Krüger
f13d23de41
rustup https://github.com/rust-lang/rust/pull/56502 ( .hir -> .hir() ) 2018-12-08 12:05:09 +01:00
Philipp A
2fed8d9f1d
typo: emum → enum 2018-12-07 12:24:59 +01:00
Matthias Krüger
45cbdf471d rustup clippy build with latest rustc
(breakage due to 08f8faedd0 )

Fixes #3500
2018-12-06 16:44:22 +01:00
flip1995
1751d2496d
Run rustfmt on clippy_lints 2018-11-27 21:14:15 +01:00
flip1995
4e74eef6e9
Add applicability level to (nearly) every span_lint_and_sugg function 2018-11-27 15:29:23 +01:00
flip1995
3740da203b
Fix bugs and improve documentation
Some bugs and some documentation is unrelated to the Applicability change, but
these bugs were serious and the documentation was kind of required to
understand what's going on.
2018-11-27 15:29:23 +01:00
flip1995
9096269610
Add Applicability::Unspecified to span_lint_and_sugg functions 2018-11-27 15:29:23 +01:00
flip1995
fad267c3b3
Introduce snippet_with_applicability and hir_with_applicability functions 2018-11-27 15:29:14 +01:00
Matthias Krüger
ae32c877a5 constants: add u128 i128 builtin types and fix outdated url 2018-11-26 01:12:12 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
ff7da3264e
Merge pull request #3447 from phansch/small_rename
s/file_map/source_map
2018-11-22 15:08:13 +01:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
87ec0580f9
Merge branch 'master' into version_ids 2018-11-22 10:22:25 +01:00
Philipp Hansch
c4b08a5b0c
s/file_map/source_map 2018-11-22 07:53:59 +01:00
Matthias Krüger
f5929e0797 rust-lang-nursery/rust-clippy => rust-lang/rust-clippy 2018-11-22 04:40:09 +01:00
Oliver Scherer
617d861041 Enable rustup clippy to refer to the correct documentation 2018-11-21 13:33:42 +01:00
Matthias Krüger
3a11cd4289 remove unused allow() attributes, NFC 2018-11-17 13:47:46 +01:00
Matthias Krüger
396701613e rustup https://github.com/rust-lang/rust/pull/55665 (pass contexts by reference) 2018-11-04 22:47:20 +01:00
bors[bot]
7c86a9c05c Merge #3387
3387: Replace big if/else expression with match r=flip1995 a=mikerite



Co-authored-by: Michael Wright <mikerite@lavabit.com>
2018-11-02 07:58:00 +00:00
bors[bot]
c8308c92b6 Merge #3378
3378: Fix lint_without_lint_pass r=phansch a=mikerite



Co-authored-by: Michael Wright <mikerite@lavabit.com>
Co-authored-by: flip1995 <hello@philkrones.com>
2018-10-31 07:18:42 +00:00
Michael Wright
4e054ad320 Replace big if/else expression with match 2018-10-31 06:29:38 +02:00
Manish Goregaokar
a06296f836 Rustup to rustc 1.31.0-nightly (fb2446ad5 2018-10-30) 2018-10-30 04:06:37 +00:00
flip1995
a7fc6799df
Rewrite registered lint collection 2018-10-29 20:44:45 +01:00
Michael Wright
267d5d3433
Fix lint_without_lint_pass 2018-10-29 20:28:06 +01:00
Philipp Hansch
af1548f58f
Don't expand macro in single_match suggestion 2018-10-27 15:47:56 +02:00
Philipp Hansch
aa7bcb9074
Don't expand macro in identity_conversion suggestion 2018-10-27 15:47:56 +02:00
Shotaro Yamada
9a150b4aa1 Use lint_root 2018-10-26 01:16:14 +09:00
Shotaro Yamada
3ca0895920 Add redundant_clone lint 2018-10-26 01:15:55 +09:00
HMPerson1
aabf8083bd
Add lint for calling mem::discriminant on a non-enum type 2018-10-24 23:39:54 -04:00
Guillem Nieto
fd3651a551 Fix inspector pass documentation
When using `#[clippy_dump]`, the compiler complains about an unknown
attribute. The correct one seems to be `#[clippy::dump]`.
2018-10-23 23:03:23 +02:00
Devon Hollowood
dcef9d0795 Fix stutter lints 2018-10-11 15:42:22 -07:00
Devon Hollowood
9afd8abbe3 Fix similar_names warnings
Most of these are just `#![allow]`ed, because they are things like using
l vs r to differentiate left vs right. These would be made less clear by
taking the advice of `similar_names`
2018-10-11 15:18:58 -07:00
Devon Hollowood
2b9abc5daa Fix cast_possible_wrap and cast_sign_loss warnings 2018-10-08 22:34:10 -07:00
Devon Hollowood
eef2e8948b Fix cast_possible_truncation warnings 2018-10-08 21:40:21 -07:00
Philipp Hansch
41e94dd072
Merge pull request #3285 from devonhollowood/pedantic-dogfood-items-after-statements
Pedantic dogfood: `items_after_statements`
2018-10-08 06:59:55 +01:00
Devon Hollowood
be983fbf52 Fix items_after_statements for sub-functions 2018-10-07 17:09:32 -07:00
Manish Goregaokar
e9c025ea70 Add license header to Rust files 2018-10-06 09:43:08 -07:00
Manish Goregaokar
cbde8201c5 Remove unused utils 2018-10-05 13:26:39 -07:00
Manish Goregaokar
c430147942 Fix push_item_path call (rustup to 4cf11765dc98536c6eedf33f2df7f72f6e161263) 2018-10-03 02:06:26 -07:00
Michael Wright
c2ee9c29ab Merge branch 'master' into unnecessary_filter_map 2018-09-29 15:27:47 +02:00
Michael Wright
4b4d758ce0 Fix warnings in clippy_lints 2018-09-27 06:29:48 +02:00
Matthias Krüger
2a31937cc9 fix all clippy::use_self pedantic warnings found in the codebase.
cc #3172
2018-09-26 22:24:18 +02:00
Philipp Krones
af2d6a0c14
Merge pull request #3191 from vi/suggest_with_applicability
Use span_suggestion_with_applicability instead of span_suggestion
2018-09-23 15:45:55 +02:00
Vitaly _Vi Shukela
3eccccb367
Fix indents 2018-09-20 14:38:48 +02:00
Vitaly _Vi Shukela
d4c994e670
Supplement DiagnosticBuilderExt with Applicability 2018-09-20 14:38:47 +02:00
Vitaly _Vi Shukela
92034e20c8
Use span_suggestion_with_applicability instead of span_suggestion 2018-09-20 14:38:47 +02:00
Jay Kickliter
598df08d88 Add lint for mem::replace(.., None).
Suggest `Option::take()` as an alternative.
2018-09-19 14:38:34 -07:00
Philipp Hansch
b6707ffc42
Merge pull request #3187 from flip1995/internal_fn
New internal lint: compiler_lint_functions
2018-09-19 19:43:48 +01:00
flip1995
a8b681cc2c
Fix c_void path
This got changed in rust-lang/rust#53910
2018-09-17 11:20:27 +02:00
flip1995
144281c537
Formatting 2018-09-15 11:02:00 +02:00
flip1995
aaeeaa5330
Add internal lint compiler_lint_functions 2018-09-15 11:01:16 +02:00
Eduard-Mihai Burtescu
9219fc6c5c Reintroduce extern crate for non-Cargo dependencies. 2018-09-15 11:10:51 +03:00
Manish Goregaokar
7b530c79b2 Add match on StructCtor 2018-09-14 12:41:20 +05:30
Philipp Hansch
07cb45bc85
Merge pull request #3166 from flip1995/travis_internal
Run internal lints on the Clippy code base
2018-09-13 17:22:48 +01:00
Philipp Hansch
e8400061bd
Merge pull request #3085 from mikerite/revert-98dbce
Revert "Fix E0502 warnings"
2018-09-13 06:33:26 +01:00
flip1995
e28440d2e0
Change Hash{Map, Set} to FxHash{Map, Set} 2018-09-12 01:34:52 +02:00
flip1995
cfa3c33b1d
Fix lint_without_lint_pass lint 2018-09-12 01:34:04 +02:00
Matthias Krüger
554fe1ed5c remove "clippy::" lint prefix from lint name in doc url.
Fixes #3132
2018-09-06 00:45:57 +02:00
Nick Cameron
4050a68989 Make Default do what default used to do 2018-09-04 09:13:48 +12:00
Nick Cameron
d6f01f3a6c Make Conf::default available
Fixes RLS
2018-09-03 13:57:50 +12:00
Michael Wright
19157c02cb Fix #3112 2018-09-02 09:38:25 +02:00
Manish Goregaokar
c81d70e6bd
Merge pull request #2977 from flip1995/tool_lints
Implement tool_lints
2018-09-01 11:22:23 +05:30
flip1995
f3bb161f0e Adapt codebase to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
8c07772dbb Switch to declare_tool_lint macro 2018-08-29 11:08:29 -07:00
Corey Farwell
d5534ca9db bring back sugg::range 2018-08-29 07:46:03 -05:00
Corey Farwell
05f637cf88 Make clippy_lints::{utils,consts} modules private, remove unused items. 2018-08-28 21:32:20 -05:00
Oliver Schneider
d99cea0f16 Update imports and rustup 2018-08-28 13:13:42 +02:00
Michael Wright
95fedd2273 Revert "Fix E0502 warnings"
This reverts commit 98dbce4fe4.

The compiler no longer emits the warnings in #2982 with the original
code.
2018-08-26 11:21:22 +02:00
Matthias Krüger
c98987f390 fix clippy breakage due to https://github.com/rust-lang/rust/pull/52602 2018-08-23 21:41:30 +02:00
Matthias Krüger
712d2d4fa1 rustup, fix breakage introduced by https://github.com/rust-lang/rust/pull/53581 2018-08-22 23:34:52 +02:00
Manish Goregaokar
76321d3300 codemap -> source_map
https://github.com/rust-lang/rust/pull/52953
2018-08-19 19:06:54 -07:00
Dale Wijnand
22ff5a3ef1
Avoid new_without_default_derive in DefaultHashTypes 2018-08-14 09:25:09 +01:00
Dale Wijnand
1812707d39
Use utils::span_lint_and_sugg in default_hash_types 2018-08-13 11:49:57 +01:00
Dale Wijnand
8fc425b676
Add an internal lint for FxHashMap/FxHashSet 2018-08-12 16:15:36 +01:00
Oliver Schneider
99a087bea5 Update to rustc master 2018-08-08 13:19:07 +02:00
Nick Cameron
b109e10334 Fix build 2018-08-08 18:01:06 +12:00
Oliver Schneider
328fea3e0d Rustup 2018-08-07 16:34:17 +02:00
Dale Wijnand
1a310bfdf7
Remove #[allow(rust_2018_idioms)] workaround 2018-08-06 17:51:04 +01:00
Alex Crichton
8ef759e027 Fix fallout from rust-lang/rust#52841 2018-08-02 18:08:22 -07:00
Alex Crichton
40349b23ea Fix breakage from rust-lang/rust#52949 2018-08-02 13:00:14 -07:00
Michael Wright
98dbce4fe4 Fix E0502 warnings
Fixes #2982
2018-08-01 06:33:08 +02:00
Matthias Krüger
2665f10662 fix a bunch of typos found by codespell 2018-07-25 20:02:52 +02:00
Dale Wijnand
a1cce2d06a
Inline utils::in_external_macro 2018-07-24 10:38:58 +01:00
Dale Wijnand
b1fa7b91ba
Delegate utils::in_external_macro to rustc::lint::in_external_macro 2018-07-24 10:34:18 +01:00
Oliver Schneider
afd91248ed Rustup 2018-07-23 13:01:12 +02:00
Manish Goregaokar
1f65617372 Merge branch 'macro-use' into HEAD 2018-07-20 00:52:01 -07:00
Manish Goregaokar
5918a3fc1e Remove import of if_chain 2018-07-20 00:50:02 -07:00
Alexander Regueiro
4d2c838a32 Update to nightly 2018-07-20 03:59:07 +01:00
Manish Goregaokar
c7676356b8 Remove import of matches 2018-07-19 01:06:02 -07:00
Manish Goregaokar
5d74e2096b Remove import of rustc 2018-07-19 00:53:23 -07:00
Manish Goregaokar
00ba67a12b Remove import of lazy_static 2018-07-19 00:11:15 -07:00
Manish Goregaokar
c1745cde82 Remove import of serde 2018-07-19 00:02:08 -07:00
Oliver Schneider
6992937002 Update for hir renamings in rustc 2018-07-16 15:07:39 +02:00
csmoe
8e929946fd DeclKind 2018-07-16 11:48:33 +02:00
csmoe
8cf463fe93 StmtKind 2018-07-16 11:48:33 +02:00
csmoe
12ded030b6 TyKind 2018-07-16 11:48:33 +02:00
csmoe
5d4102ee78 BinOpKind 2018-07-16 11:46:37 +02:00
csmoe
1bd17e4fa2 ExprKind 2018-07-16 11:46:37 +02:00
Oliver Schneider
1e9f076254 Ignore spans when comparing expressions 2018-07-15 00:00:27 +02:00
Oliver Schneider
141f79f844 Rustup 2018-07-02 19:07:12 +02:00
Oliver Schneider
63041d070b Rustup 2018-07-01 13:36:14 +02:00
Mateusz Mikuła
48cb6e273e Rustup 2018-06-29 09:49:05 +02:00
Mateusz Mikuła
1036df5699 Fix clippy_lints doc-tests 2018-06-25 21:22:53 +02:00
Mateusz Mikuła
a6601f2d02 Enable rust_2018_idioms warning 2018-06-25 20:56:25 +02:00
flip1995
203ad28021
resolve merge of NameAndSpan and ExpnInfo rust-lang/rust#51726 2018-06-25 12:25:20 +02:00
flip1995
c83fd39e0e
Resolve conflicts produced by GenericArgs
Addresses the move/zip of Lifetimes and Types vectors from hir::PathParameters into the args vector of GenericArgs
2018-06-25 12:31:39 +02:00
flip1995
d9a80d2f84
Resolve field, struct and function renaming
Addresses the errors produced by (re)moving, merging or renaming
structs, fields and methods by rust-lang/rust#48149 and rust-lang/rust#51580
2018-06-25 12:25:20 +02:00
Oliver Schneider
4839c790ae
Merge pull request #2844 from illicitonion/default_trait_access
Add default_trait_access lint
2018-06-19 10:10:20 +02:00
Oliver Schneider
7d672888fe Version bump 2018-06-19 09:56:37 +02:00
Daniel Wagner-Hall
b24d75313e Exclude generated code 2018-06-18 10:29:25 +01:00
Wim Looman
621fdcc3bc Dogfood new trivially_copy_pass_by_ref lint 2018-06-15 16:53:34 +02:00
Wim Looman
700ece5648 Allow configuring the trivial copy size limit 2018-06-15 16:53:34 +02:00
Daniel Wagner-Hall
4866309f9d Add default_trait_access lint 2018-06-14 09:11:46 +01:00
Michael Wright
7b2fa2077f Add duration_subsec lint
Closes #2543
2018-06-09 10:21:26 +02:00
Fabian Zaiser
81821acd59 Implement lint that checks for unidiomatic unwrap() (fixes #1770)
This checks for things like

    if x.is_some() {
        x.unwrap()
    }

which should be written using `if let` or `match` instead.

In the process I moved some logic to determine which variables are
mutated in an expression to utils/usage.rs.
2018-06-08 05:29:25 +02:00
Oliver Schneider
2a2e602f2a
Merge pull request #2833 from phansch/cannot_relate_bound_region_without_ICE_cream
Fix cargo late bound region mismatch ICE
2018-06-07 11:52:32 +02:00
Philipp Hansch
17aff1d774
Fix cargo late bound region mismatch ICE 2018-06-07 07:42:45 +02:00
Oliver Schneider
7563d8155b
Merge pull request #2804 from utaal/expr-call-author
Add support for ExprCall in clippy::author
2018-06-06 15:17:47 +02:00
Bruno Kirschner
80728a2201 Reduced scope of nonminimal_bool so that it doesn't evaluate only partially orded types. 2018-06-03 21:46:09 +02:00
Oliver Schneider
1c6c79f92c Version bump 2018-06-03 08:59:10 +02:00
Oliver Schneider
bb2f6a5011
Merge pull request #2821 from mati865/rust-2018-migration
Rust 2018 migration
2018-05-30 15:55:11 +02:00
Mateusz Mikuła
424a33720d Run rustfix 2018-05-30 10:15:50 +02:00
flip1995
3a41e0172c
Remove unused define_conf-macro definitions 2018-05-29 14:51:16 +02:00
Mateusz Mikuła
8ed8ee895a Update to nightly 2018-05-28 2018-05-29 10:56:58 +02:00
Andrea Lattuada
e86268e67f Add support for ExprCall in clippy::author 2018-05-28 14:48:34 +02:00
Mateusz Mikuła
a1c44e966e Update to nightly 2018-05-22
Fixes #2788
2018-05-23 14:47:48 +02:00
Oliver Schneider
e0df4ccfc5 Use the new scoped tool attributes 2018-05-19 14:04:57 +02:00
Philipp Hansch
ed885dc2b3
Fix ICE for issues 2767, 2499, 1782 2018-05-17 21:12:07 +02:00
Philipp Hansch
6eb07cc5b6
Fix ICE for issue 2594 2018-05-17 21:12:06 +02:00
Mateusz Mikuła
f0c823a85e Rustup to 2018-05-16 2018-05-17 11:21:15 +02:00
Oliver Schneider
22bef4ce28
Patterns, locals and matches for author lint 2018-05-11 19:05:34 +02:00
Philipp Hansch
665cf96221
Rustup to 2018-05-11 2018-05-11 09:53:21 +02:00
Oliver Schneider
c6e35eae53
Check that we don't treat any type but a range type as a range 2018-05-08 17:16:01 +02:00
Oliver Schneider
c1b39c4551
Merge pull request #2713 from alexreg/nightly-fix
Fixed build for latest rust master
2018-05-04 15:06:59 +02:00
Alexander Regueiro
00b549ad40 Fixed build for latest nightly (again) 2018-05-03 23:28:48 +01:00
Oliver Schneider
c7ce6c07b1 Rustup field -> method transition of ..= 2018-05-03 15:52:44 +02:00
Cyril Plisko
e94ec44ab3 Simplify some internal code
Addresses #2709
2018-05-01 20:33:32 +03:00
Alexander Regueiro
c7ff9334a6 Fixed build for latest nightly 2018-05-01 17:10:25 +01:00
Philipp Hansch
1712e18b77
Rustup to latest nightly
Due to https://github.com/rust-lang/rust/pull/48995 and
https://github.com/rust-lang/rust/pull/49894
2018-04-28 12:56:31 +02:00
Mateusz Mikuła
cc7d66aa9c rustup 2018-04-27 14:00:43 +02:00
Devon Hollowood
f0e09d43c9 Make cast_ptr_alignment ignore c_void 2018-04-24 11:37:51 -07:00
Michael Wright
a9c8d1bd90 Fix compilation for nightly 2018-04-15
This only fixes compilation and the build. It's possible that the `author`
and `inspector` lints are broken but there are no failing tests.

Closes #2667
2018-04-15 05:01:43 +02:00
Oliver Schneider
8ec61a613a
Merge pull request #2661 from devonhollowood/ptr-ptr-casts
Replace `misaligned_transmute` lint
2018-04-11 13:23:15 +02:00
Devon Hollowood
c6bc682325 Fix misaligned_transmute lint
This is done by adding two new lints: cast_ptr_alignment and
transmute_ptr_to_ptr. These will replace misaligned_transmute.
2018-04-11 02:17:59 -07:00
Evan Simmons
d712991917 New lints for write! / writeln! macros. 2018-04-07 22:45:26 -07:00
Michael Wright
fe8068c41b Fix compilation for nightly 2018-04-06
Breakages for introduced by rust pull request
'AST: Give spans to all identifies' - rust-lang/rust/pull#49154

Closes #2639
2018-04-07 07:32:30 +02:00
Manish Goregaokar
51336711d3 Remove uses of ExprKind::Inplace 2018-04-04 17:56:44 -07:00
Philipp Hansch
b1b0b36cc0
Document the author lint 2018-04-02 14:55:00 +02:00
Michael Wright
e91404bcc3 Fix clippy warning 2018-04-02 07:35:13 +02:00
Michael Wright
0fbcb30303 Merge branch 'master' into dogfood_target_dir 2018-04-02 07:28:10 +02:00
Michael Wright
6397131f8a Fix clippy warning
Allow `many_single_char_names` on `SpanlessHash::hash_expr`. Each
variable has a small scope and the method is readable.
2018-04-02 07:04:06 +02:00
Philipp Hansch
db1ec44616
Handle nested block comments 2018-03-30 12:36:50 +02:00
Philipp Hansch
b7929cafe1
Fix false positive in empty_line_after_outer_attr
Before, when you had a block comment between an attribute and the
following item like this:

```rust
\#[crate_type = "lib"]
/*

*/
pub struct Rust;
```

It would cause a false positive on the lint, because there is an empty
line inside the block comment.

This makes sure that basic block comments are detected and removed from
the snippet that was created before.
2018-03-30 12:36:50 +02:00
Manish Goregaokar
83748f5e48 Rustup to rustc 1.26.0-nightly (ae544ee1c 2018-03-29) 2018-03-30 10:35:51 +02:00
Manish Goregaokar
9887b972d4
Merge pull request #2589 from rust-lang-nursery/rangearg
Move RangeArgument
2018-03-29 16:21:45 +02:00
Oliver Schneider
c1bbc173da
Address review comments 2018-03-29 13:41:53 +02:00
Manish Goregaokar
b75618206c Move RangeArgument 2018-03-29 13:13:27 +02:00
Oliver Schneider
d6344c47e3
Categorize all the lints! 2018-03-28 15:24:26 +02:00
Oliver Schneider
96d5af36f8
Version bump 2018-03-27 12:14:46 +02:00
Mateusz Mikuła
cfb9b982c5 Apply clippy suggestions
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-16 10:54:49 +01:00
Oliver Schneider
f7b2578aea
Update to rustc master 2018-03-13 11:38:21 +01:00
Oliver Schneider
05f92b84c9
Merge pull request #2507 from ordovicia/redundant_field_names_range
Don't lint range syntax with var name `start` and/or `end`
2018-03-05 09:41:00 +01:00
Hidehito Yabuuchi
cdb60c6547 Make redundant_field_name not care range expressions
Hand-written `Range` struct family are treated normally.
2018-03-05 17:30:07 +09:00
HMPerson1
3045f432c7
Fix #2496 2018-03-04 22:56:03 -05:00
Guillem Nieto
3ac84b2542 Remove explicit visit_qpath method
Instead of replacing the default behaviour of the visit_qpath method,
I've moved the printing code to private method of PrintVisitor
(print_qpath).
2018-02-24 19:34:51 +01:00
Guillem Nieto
8494f57c82 Fix author lint
The author lint was generating invalid code as shown on issue:
https://github.com/rust-lang-nursery/rust-clippy/issues/2442

I've changed the generated code to properly track cast
expressions.

Unfortunatelly, I've had to rewrite the `visit_decl` method, to
avoid that last if of the chain will be added. After looking at the code,
this last line was being added because of the `let x: char` part, but not
because of the `0x45df as char` expression.

It seems that let statements should not generate code on the author
lint, but I'm not sure that this is true or if I'm breaking
something on other code generation parts.

Finally, I've added a test for the author lint, but I'm not sure that
this needs to be added to the testsuite.
2018-02-24 02:19:47 +01:00
Oliver Schneider
ff32d5f734
Fix #2427 2018-02-09 15:25:12 +01:00
Oliver Schneider
88970ec8cf
Remove rarely used type_size helper function 2018-02-09 15:24:31 +01:00
Oliver Schneider
6f48e37d22
Merge pull request #2444 from phansch/fix_incorrect_useless_attribute_suggestion
Partly fix incorrect useless_attribute suggestion
2018-02-07 09:07:46 +01:00
Philipp Hansch
81f5969704
Partly fix incorrect useless_attribute suggestion
This fixes an incorrect suggestion from the `useless_attribute` lint
when using `cfg_attr`.

Additionally, it will not show a suggestion anymore, if the attribute
begins on a previous line, because it is much harder to construct the
span of multi-line `cfg_attr` attributes as they don't appear in the AST.

To fix it completely, one would have to parse upwards into the file,
and find the beginning of the `cfg_attr` attribute.
2018-02-06 22:35:11 +01:00
flip1995
63a7daf78c Make decimal_literal_representation a restriction lint 2018-02-06 13:05:20 +01:00
Guillem Nieto
bcf2e41421 Fix ICE comparing ExprRange
`eq_expr` on hir::utils was throwing an ICE due to an invalid
LateContext being used. Due to this missusage, it was generating an ICE
with the code on the following issue:
https://github.com/rust-lang-nursery/rust-clippy/issues/2423
2018-02-06 01:06:32 +01:00
Oliver Schneider
503a63390d
Cleanup calls to layout_of 2018-02-05 11:28:09 +01:00
Oliver Schneider
7fddc6116e
Merge pull request #2415 from HMPerson1/fix-2356
Fix `ImplItem`s being ignored
2018-02-05 08:19:11 +01:00
messense
5226b664a1
Rustup to rustc 1.25.0-nightly (0c6091fbd 2018-02-04) 2018-02-05 12:16:17 +08:00
HMPerson1
3a4ea45821
Fix get_enclosing_block 2018-02-02 01:53:48 -05:00
Frederick Zhang
c5ee8b5dfb set CodeSuggestion approximate to false. fixes #2429 2018-02-02 16:24:32 +11:00
Seiichi Uchida
e40bc64f4f Rustup to rustc 1.25.0-nightly (7d6e5b9da 2018-01-27) 2018-01-28 16:28:48 +09:00
Michael Wright
daa39b3be1 Fix compilation
Fix the compilation broken by these two changes:
+ 2d56abfbeb (diff-7fceb7ede15b205bf5ad812c31d75384L1459)
+ ccf0d8399e (diff-64b696b0ef6ad44140e973801ed82b25L2771)
2018-01-27 15:03:17 +02:00
Devon Hollowood
0413b3f6cf Add misaligned_transmute lint 2018-01-25 00:48:36 -08:00
Oliver Schneider
ea042657e5
Enable more patterns in the author lint 2018-01-24 13:04:06 +01:00
Oliver Schneider
8e7f76db9a
Merge pull request #2362 from flip1995/master
Lint for numeric literals that have a better representation
2018-01-23 15:54:35 +01:00
flip1995
600147926b Apply requested changes 2018-01-23 15:29:31 +01:00
flip1995
23f90afa1b Add configurable threshold, default: 4096 2018-01-23 12:34:40 +01:00
Oliver Schneider
70302595a4
Merge branch 'master' of github.com:Manishearth/rust-clippy into fold_any 2018-01-19 12:10:24 +01:00
Oliver Schneider
3c6064130b
Merge pull request #2367 from etaoins/inline-fn-without-body-lint
Lint for trait methods without bodies
2018-01-19 09:14:46 +01:00
Ryan Cumming
7467b83377 Suggest removing inline attributes
This adds a `suggest_remove_item` helper that will remove an item and
all trailing whitespace. This should handle both attributes on the same
line as the function and on a separate line; the function takes the
position of the original attribute.
2018-01-18 20:02:42 +11:00
Manish Goregaokar
552e950080 needless_pass_by_value: Whitelist RangeArgument (fixes #2357) 2018-01-18 14:30:53 +05:30
Phil Ellison
b73efad600 Add some reviewer comments 2018-01-17 21:06:16 +00:00
Phil Ellison
a64d19cc0e Fix error span to play nicely with rustfix 2018-01-16 21:20:55 +00:00
Oliver Schneider
d011dae96d
Rustup 2018-01-15 12:08:17 +01:00
Phil Ellison
70a5535ffa Address some review comments 2018-01-14 18:18:09 +00:00
Phil Ellison
528be23c07 Move get_arg_name into utils 2018-01-14 10:05:01 +00:00
Trevor Spiteri
a5d0569a20 Add "NaNs" and "GitLab" to doc-valid-idents 2018-01-02 13:51:35 +01:00
Oliver Schneider
8ddcb81a15
Rustup and lazy_static version mismatch fix
fixes #2274
2017-12-15 10:05:32 +01:00
Frederick Zhang
e91b01348e fix usage of LayoutDetails 2017-11-21 16:51:36 +11:00
Johannes Hofmann
3efa07f959 Ignore identifier 'OpenStreetMap' for DOC_MARKDOWN lint 2017-11-18 19:13:07 +01:00
Oliver Schneider
c6a4eaeb0d
Rustup 2017-11-15 08:38:43 +01:00
Oliver Schneider
299f1270a6
Rustup 2017-11-10 08:58:54 +01:00
Oliver Schneider
ed589761e6
Merge pull request #2202 from topecongiro/format
Run `cargo fmt`
2017-11-06 08:35:52 +01:00
Matt Kraai
b778659c42 Fix compilation errors with rustc 1.23.0-nightly (d762b1d6c 2017-11-04)
Fixes #2204
2017-11-05 04:19:11 -08:00
topecongiro
7a06d312fd Cargo fmt 2017-11-05 04:55:56 +09:00
sinkuu
c102d50ece &Self 2017-11-03 17:56:17 +09:00
sinkuu
be7c4b4862 Fix test 2017-11-03 17:36:38 +09:00
kennytm
44d3ea5308 Fix lint_without_lint_pass 2017-10-31 10:04:02 -07:00
Manish Goregaokar
f76225e388 Handle TyForeign 2017-10-29 05:21:25 -04:00
Alex Burka
24a2c14733 remove if_let_chain 2017-10-23 17:53:30 -04:00
Alex Burka
2153d1e560 manual fixups if_let_chain -> if_chain 2017-10-23 17:53:30 -04:00
Alex Burka
41840ae3c4 mechanically swap if_let_chain -> if_chain 2017-10-23 15:18:02 -04:00
HMPerson1
e5076d06db Add lint for From<String> 2017-10-20 20:47:30 -04:00
Paul Florence
406931381b Fixed some code in clippy to pass the new, removed formatting changes. 2017-10-20 10:17:41 -04:00
Oliver Schneider
343e438f9d Merge pull request #2120 from sinkuu/implicit_hasher
Implicit hasher lint
2017-10-17 15:24:20 +02:00
sinkuu
c3332ca92e Fix panic with fake Range type 2017-10-13 21:51:57 +09:00
sinkuu
5a61d88fa1 Apply suggestions 2017-10-11 22:17:00 +09:00
Oliver Schneider
73a1dd8e7f Merge pull request #2117 from sinkuu/improve_take_by_value
Improve needless_pass_by_value
2017-10-08 20:14:55 +02:00
sinkuu
2be6245179 Duplicate ptr_arg's suggestion logic 2017-10-08 17:51:44 +09:00
Chris Emerson
fcdce8fc1d Merge branch 'master' into no_effect_with_drop 2017-10-07 23:24:36 +01:00
sinkuu
771d2220d2 Add identity_conversion lint (fixes #1051) 2017-10-04 22:16:16 +09:00
Laura Peskin
8e6abc6fd7 alphabetize paths to pass dogfood 2017-09-29 21:48:10 -04:00
Laura Peskin
f3e51d8d65 add lint for creation of invalid references 2017-09-29 21:01:10 -04: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
fabb6b6645
Rustup to rustc 1.22.0-nightly (6c476ce46 2017-09-25) 2017-09-25 19:52:29 -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
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
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
Luca Bruno
62ae6d2251
lints/doc_markdown: add two more entries 2017-09-18 14:44:28 +00:00
Andre Bogus
72be166756 add suggestions for .clone() in ptr_arg fns 2017-09-16 09:10:26 +02:00
Oliver Schneider
32a9394490
Rustup 2017-09-13 15:34:04 +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
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
Manish Goregaokar
2544458559
Run rustfmt 2017-09-03 14:15:18 -07: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
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
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
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
Andre Bogus
6d989c729d add closure arg check, also catch non-consts 2017-08-23 17:54:35 +02: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
Oliver Schneider
2430e06a60 Run Dogfood for use_self 2017-08-21 13:32:12 +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
Frederick Zhang
f770d15350 use CompilerDesugaringKind 2017-08-19 18:03:29 +10: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
Oliver Schneider
f3ae929b2d Rustup 2017-08-15 11:10:49 +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
b25b6b3355
Rustfmt 2017-08-14 09:43:26 +02:00
Andre Bogus
f515d7bb67 Change all links to reflect the move to rust-lang-nursery 2017-08-06 23:10:55 +02:00
Oliver Schneider
3a61b452a2
Create a lint authoring helper (generates matching code) 2017-08-01 12:55:52 +02:00
Matt Kraai
de3bdf5826 Set show_code_when_inline to true
Fixes #1902
2017-07-24 06:37:12 -07: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
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
d0650ae144 Update for latest master 2017-06-28 11:02:27 +02:00
messense
16a958b103
rustup to rustc 1.19.0-nightly (258ae6dd9 2017-06-15) 2017-06-16 11:57:44 +08:00
Manish Goregaokar
55cb63adfe Bump to 0.0.139 2017-06-10 22:07:09 -07: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
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