Commit graph

1206 commits

Author SHA1 Message Date
Philipp Hansch
abfa8a952c
Doctests: Fix all complexity lint docs
cc #4319
2019-08-02 18:16:35 +02:00
Jakub Wieczorek
2a13e83f2b Update all the code to pass the updated use_self lint.
One struct required a temporary `#[allow(dead_code)]` annotation due to
a bug in the Rust compiler: https://github.com/rust-lang/rust/issues/63151.
2019-07-31 08:50:43 +00:00
xd009642
78ebcaa526 Fix dogfood test 2019-07-28 09:31:05 +01:00
xd009642
03c543515a Hash discriminant of lifetime.name 2019-07-27 23:04:36 +01:00
xd009642
ad637193f0 Hash discriminant of Lifetime::Name 2019-07-27 22:59:46 +01:00
xd009642
925e8207fa Respond to review comments
Update README and CHANGELOG using the util scripts, refine the help message and fix the float_cmp error.
2019-07-27 21:58:29 +01:00
xd009642
cac69ec063 Respond to comments and improve printout
Now get the trait names for the diagnostic message and removed more
`let c: fn(_) -> _ = T; hashes from hir_utils
2019-07-27 11:51:27 +01:00
xd009642
7853dac662 Responded to comments and fixed compile bug
Removed the hash of `let c: fn(_,_) -> _ = ExprKind::Cast` and
fixed compile issue by collecting HirVec into an actual Vec
2019-07-26 16:46:47 +01:00
xd009642
c0259179c3 Fixed more compile errors
Moved to rustc::hir::Ty
2019-07-24 22:59:32 +01:00
xd009642
792153104c Fix some of the compile errors 2019-07-24 22:27:12 +01:00
xd009642
f3e4467c10 Changed Ty to ty, added lifetime 'tcx 2019-07-24 21:14:21 +01:00
xd009642
f71d59e6a6 Lint for type repetition in trait bounds.
This lint adds warning if types are redundantly repeated in trait bounds i.e. `T: Copy, T: Clone` instead of `T: Copy + Clone`. This is a late pass trait lint and has necessitated the addition of code to allow hashing of TyKinds without taking into account Span information.
2019-07-24 21:14:21 +01:00
Michael Wright
67db88f645 Fix breakage due to rust-lang/rust#62705
Also rename `OUTER_EXPN_INFO` to `OUTER_EXPN_EXPN_INFO` to match new
function names.
2019-07-21 09:36:31 +02:00
Lzu Tao
27c5348793 Rustup macro expansion and resolution 2019-07-12 00:26:36 +07:00
Michael Wright
adcc02ed8a Address reviews 2019-07-06 19:35:08 +02:00
Michael Wright
0579c3e0aa Fix breakage due to rust-lang/rust#61988 2019-07-06 19:06:49 +02:00
Lzu Tao
7293defb34 Rename hir::map::local_def_id_from_hir_id to local_def_id 2019-07-06 10:52:51 +07:00
Matthias Krüger
f18f81d6a6 rustup https://github.com/rust-lang/rust/pull/61995 2019-07-03 18:00:35 +02:00
bors
ad638a3e42 Auto merge of #4222 - jfrikker:try_err, r=flip1995
Adding try_err lint

changelog: Adds the "try_err" lint, which catches instances of the following: Err(x)?
fixes #4212
2019-07-01 07:41:33 +00:00
Manish Goregaokar
d744dcdaaf find_by_hir_id -> find 2019-06-25 14:34:07 -07:00
Manish Goregaokar
c47a7e4ef2 get_parent_node_by_hir_id -> get_parent_node 2019-06-25 14:33:51 -07:00
Mazdak Farrokhzad
4434bfac01 Fix dogfood test failures. 2019-06-24 04:00:05 +02:00
Joe Frikker
1e6c6976dd PR comments 2019-06-23 18:02:13 -04:00
Mazdak Farrokhzad
b918594369 Fix fallout from rust-lang/rust PR 60861. 2019-06-23 17:24:45 +02:00
Lzu Tao
6aea41e050 Fix fallout cause NodeId pruning 2019-06-22 13:41:16 +07:00
Jeremy Stucki
746fbad98a
Remove needless lifetimes 2019-06-21 14:41:19 +02:00
flip1995
ca2ba973a7
Remove unnecssary lifetime from trait_ref_of_method 2019-06-21 12:32:39 +02:00
Michael Wright
837b5208f7 Fix breakage due to rust-lang/rust#61968 2019-06-21 08:14:07 +02:00
Lzu Tao
4fa498a3eb Fix warnings about unnecessary lifetime bounds
Rustup https://github.com/rust-lang/rust/pull/61172
2019-06-20 01:36:23 +07:00
Lzu Tao
321779979a Fix missing field in ExprKind::Yield
Rustup rust-lang/rust#61941
2019-06-19 16:59:25 +07:00
Matthias Krüger
4d984dc6e6 rustup https://github.com/rust-lang/rust/pull/61836/ 2019-06-18 11:15:47 +02:00
Lzu Tao
9bfdbd13c2 Fix wrong lifetime of TyCtxt 2019-06-14 23:47:48 +07:00
Lzu Tao
3832a8d253 Fix wrong lifetime of TyCtxt 2019-06-13 02:49:02 +07:00
Lzu Tao
79e3c7cd55 Remove wrong lifetime from LintContext 2019-06-12 10:28:52 +02:00
Matthias Krüger
7d83e13660 rustup https://github.com/rust-lang/rust/pull/61669/ 2019-06-09 15:21:28 +02:00
Michael Wright
b726b41daf Add OUTER_EXPN_INFO lint 2019-06-08 13:35:04 +02:00
bors
71be6f62fa Auto merge of #4177 - mikerite:compiler_lint_functions_fewer_strings, r=phansch
Remove `to_string()`s from CompilerLintFunctions

changelog: none
2019-06-06 10:25:13 +00:00
Matthias Krüger
d0ca09883e rustup https://github.com/rust-lang/rust/pull/57428/ 2019-06-06 09:21:19 +02:00
Michael Wright
b36d7a0c61 Remove to_string()s from CompilerLintFunctions 2019-06-06 07:12:12 +02:00
Mateusz Mikuła
a3ace5c3ca Cargo fmt 2019-06-02 18:58:11 +02:00
Mateusz Mikuła
9fefe36737 Rustup for https://github.com/rust-lang/rust/pull/61276 2019-06-02 18:30:40 +02:00
Lzu Tao
f67c3e4b2a Make use of new outer_expn_info() function 2019-06-01 16:25:51 +07:00
Oliver Scherer
f98e4bd33b
Fix Block dump in author lint 2019-05-28 13:01:11 +02:00
Oliver Scherer
73d1830812 Rustup to rustc 1.36.0-nightly (fa40a111f 2019-05-27) 2019-05-27 21:58:54 +02:00
Matthias Krüger
c67d2b121a rustup https://github.com/rust-lang/rust/pull/60803/ 2019-05-24 15:25:36 +02:00
Philipp Hansch
aca56727db
Rustup to https://github.com/rust-lang/rust/pull/59545 2019-05-24 08:19:51 +02:00
Philipp Hansch
635a2fa5df
Rustup to https://github.com/rust-lang/rust/pull/60740
changelog: none
2019-05-23 07:19:25 +02:00
Manish Goregaokar
a6cf35264f Rustup to rustc 1.36.0-nightly (dbfe70dfc 2019-05-22) 2019-05-21 21:58:27 -07:00
Oliver Scherer
f49ef0ec04 Dogfood 2019-05-18 01:42:15 +02:00
Oliver Scherer
462df72100 Dogfood and rustfmt 2019-05-18 00:58:25 +02:00
Oliver Scherer
f7f85a0dca Prevent symbocalypse 2019-05-17 23:53:54 +02:00
flip1995
5dea5d404c
Fix dogfood errors 2019-05-14 15:08:29 +02:00
flip1995
4b4d734758
Also hash mem::discriminant in hash_stmt 2019-05-14 14:13:23 +02:00
Oliver Scherer
f11b236087
mem::discriminant trumps manual discriminant hashing 2019-05-14 14:04:55 +02:00
Oliver Scherer
bc031d4c74
Properly hash enums 2019-05-14 13:57:48 +02:00
Oliver Scherer
dfbc74b08b Rustfmt all the things 2019-05-14 10:33:48 +02:00
Oliver Scherer
af80c53450 Clippy dogfood 2019-05-14 10:33:48 +02:00
Oliver Scherer
b2dbda4d48 Use symbols instead of strings 2019-05-14 10:33:42 +02:00
Manish Goregaokar
abf6481f87 Add in_macro again 2019-05-11 21:39:37 -07:00
Manish Goregaokar
7eb8018554 Rename in_macro to in_macro_or_desugar 2019-05-11 21:39:02 -07:00
Manish Goregaokar
19cfb84405 Start handling desugarings in author lint 2019-05-10 23:43:58 -07:00
Manish Goregaokar
0499184201 Ignore desugarings in macro checks 2019-05-10 23:40:42 -07:00
Manish Goregaokar
5661e5947f Add IfDesugar to desugaring_name 2019-05-10 23:40:42 -07:00
Manish Goregaokar
69b1da4d82 Remove some unnecessary If arms 2019-05-10 23:40:42 -07:00
Manish Goregaokar
e7af60f258 Add util function for desugaring if block 2019-05-10 23:40:42 -07:00
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
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
Manish Goregaokar
8d3c48601d Rustup to rustc 1.19.0-nightly (557967766 2017-05-26) 2017-05-26 22:25:58 -07: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
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
672045689e Fix #1730 2017-05-11 19:02:19 +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
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
Niklas Fiekas
956043e319 Add KiB to doc-valid-idents 2017-05-06 21:31:54 +02:00
Oliver Schneider
eb93058dd5 Also print type adjustments in the inspector 2017-05-05 14:25:54 +02:00
Oliver Schneider
1522a4913f Run rustfmt 2017-05-03 14:13:50 +02:00
Oliver Schneider
b84e71c2b1 Update to latest nightly 2017-05-02 16:56:36 +02:00
Oliver Schneider
b8d577d82d Rustup 2017-04-28 13:00:42 +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
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
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
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
Enrico Schmitz
7a4f7c335b Remove unused cs parameter for is_macro and friends 2017-04-01 00:14:04 +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
Enrico Schmitz
f8df4aed0f Fix for rustc 1.17.0-nightly (6eb9960d3 2017-03-19) 2017-03-21 00:22:19 +01:00
Andre Bogus
bc934a3ed9 Rustup: Add ExprKind::Catch 2017-03-16 00:56:21 +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
Oliver Schneider
ac48e09255 Simplify snippet body by forwarding to snippet_opt 2017-03-03 16:56:35 +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
Enrico Schmitz
7e24e1db09 Using f.unsafety() instead of f.skip_binder().unsafety 2017-03-01 14:46:35 +01:00
Enrico Schmitz
f66e0aad84 Fix for rustc 1.17.0-nightly (be760566c 2017-02-28) 2017-03-01 13:24:19 +01:00
Oliver Schneider
07698d1574 Run rustfmt 2017-02-27 09:49:02 +01:00
Oliver Schneider
b9f183d31f rustup 2017-02-27 09:45:02 +01:00
sinkuu
5906639af5 Enable len_zero for slices 2017-02-25 12:26:33 +09:00
Oliver Schneider
d032b8967c Merge pull request #1491 from Manishearth/into_iter_on_ref
fix explicit_into_iter_loop on references
2017-02-21 14:55:52 +01:00
Oliver Schneider
c46178c518
rustfmt 2017-02-21 12:01:41 +01:00
Oliver Schneider
c1cf5a2cde
cleanup and create another helper function that we should use more often 2017-02-21 12:01:41 +01:00
sinkuu
3516d45d7c Use multispan_sugg 2017-02-21 18:44:31 +09:00
sinkuu
0a6bc6031a Rename lint to needless_take_by_value
And fixes false-positives for generics and `match`
2017-02-20 16:02:48 +09:00
sinkuu
d81d961ba7 Lint needless take-by-value 2017-02-19 07:59:44 +09:00
sinkuu
8cb2ec804d Support generic type 2017-02-18 10:14:25 +09:00
sinkuu
6bb426b0e3 Add should_assert_eq lint (fixes #641) 2017-02-18 10:13:56 +09:00
Nathan Musoke
f2603ba2b2 doc-markdown: Allow LaTeX-related words
Add "TeX", "LaTeX", "BibTeX" and "BibLaTeX" to the default list of allowed
words.
2017-02-08 09:14:18 +13:00
Mrmaxmeier
d68f0797bf Rustup to nightly from 2017-01-31 2017-02-03 14:16:14 +01:00
Mrmaxmeier
2216a890a6 TyCtxt::map is now called TyCtxt::hir 2017-02-03 14:16:07 +01:00
Oliver Schneider
82dd50d0e2 large_enum_variants lint suggests to box variants above a configurable limit 2017-01-30 13:17:56 +01:00
Tom Prince
3e03b5d1a7 Fix #1476: Add support for exclusive pattern matches. 2017-01-26 15:32:34 -07:00
Oliver Schneider
26e8558d8a
remove rustc-serialize dependency and factor util::cargo out into a crate 2017-01-26 11:31:26 +01:00
Pascal Hertleif
6f103de164 Rustup to nightly from 2017-01-20
Adjust `multispan_sugg` to rust-lang/rust#38955
2017-01-21 17:20:01 +01:00
Mrmaxmeier
84c57ad221 rustup to rustc 1.16.0-nightly (c07a6ae77 2017-01-17) 2017-01-18 21:35:38 +01:00
Oliver Schneider
713da45906
apply rustfmt 2017-01-17 19:30:32 +01:00
Oliver Schneider
d944d7df9a
rustup to 2017-01-12 2017-01-13 17:04:56 +01:00
sinkuu
a2bcce9dbf Move is_try to util
Removed unnecessary condition

Also changed lint span of `try` from surrounded expression to entire `try`
invocation. It turned out that compiletest misses errors for macro invocations.
2017-01-07 23:52:48 +09:00
sinkuu
ce6e037ac5 Implement unused_io_amount lint 2017-01-07 22:23:33 +09:00
Manish Goregaokar
ab42f02003 Rerun rustfmt 2017-01-04 15:53:16 -08:00
Manish Goregaokar
d6dd65620e Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): Fix self type 2017-01-04 15:50:54 -08:00
Manish Goregaokar
571369af1b Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): Borrow and spelling fixes 2017-01-04 15:50:50 -08:00
Manish Goregaokar
e02fac4896 Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): Recover patterns from arguments 2017-01-04 15:50:43 -08:00
Manish Goregaokar
a262e3bb0b Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): Eliminate has_self util 2017-01-04 15:50:37 -08:00
Josh Holmer
5aea0b2062 Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): u128 fixes for rustup 2017-01-04 15:50:34 -08:00
Josh Holmer
64f5dbc9f8 Rustup to rustc 1.16.0-nightly (468227129 2017-01-03): Body fixes for rustup 2017-01-04 15:50:30 -08:00
Oliver Schneider
009c6d95d7
manually fix the overlong lines 2016-12-21 12:30:41 +01:00
Oliver Schneider
47eead5ada
function definition style simplification 2016-12-21 12:14:54 +01:00
Oliver Schneider
ed9d71f2c9
remove nondeterminism by adjusting thresholds 2016-12-21 10:25:14 +01:00
Oliver Schneider
299d7be132
rustfmt fallout in doc comments 2016-12-21 10:00:13 +01:00
Oliver Schneider
44533f09aa
rustfmt round n 2016-12-21 09:45:24 +01:00
Oliver Schneider
4a4e1ea2c5
also run rustfmt on clippy-lints 2016-12-20 18:21:30 +01:00
Arnavion
3de6f9db20 Use inputs/output getters for rustc::ty::FnSig instead of the now non-existent fields. 2016-12-10 23:57:19 -08:00
Oliver Schneider
778ce4dfd3
update to the rust-PR that unblocks clippy 2016-12-07 13:13:40 +01:00
Oliver Schneider
c6e2967b9c
rustup to rustc 1.15.0-dev (3b248a184 2016-12-05) 2016-12-06 11:32:21 +01:00
mcarton
1ba8ed96cf
Fix dogfood 2016-12-02 22:33:16 +01:00
mcarton
65ff2df7e7
Fix copy lints 2016-12-02 22:23:24 +01:00
mcarton
fe15880beb Revert "down to for-loops not comparing as equal"
This reverts commit cf1fa94be1.
2016-12-02 20:54:05 +01:00
Oliver Schneider
ff2487b30e permit more equalities 2016-12-02 19:23:30 +01:00
Oliver Schneider
cf1fa94be1 down to for-loops not comparing as equal 2016-12-02 19:19:52 +01:00
Oliver Schneider
16aab71688
enum glob use and copies left 2016-12-02 17:38:31 +01:00
Oliver Schneider
59b0077565 WIP compiles and doesn't crash (much) but tests are failing 2016-12-01 22:31:56 +01:00
Oliver Schneider
31e482403c rustup to rustc 1.15.0-nightly (d5814b03e 2016-11-23) 2016-11-25 19:24:55 +01:00
mcarton
c7e3cc1e27
Rustup to *rustc 1.15.0-nightly (3bf2be9ce 2016-11-22)* 2016-11-23 22:44:00 +01:00
mcarton
c35f82b823
Rustup to *rustc 1.15.0-nightly (7b3eeea22 2016-11-21)* 2016-11-23 21:31:55 +01:00
Oliver Schneider
f39c6278e1
fix the inspector 2016-11-18 13:21:07 +01:00
mcarton
945c027768
Handle closure with single expression blocks 2016-11-17 19:44:18 +01:00
mcarton
19c5f5394b
Rustup to rustc 1.15.0-nightly (0ed951993 2016-11-14) 2016-11-16 23:05:26 +01:00
Sébastien Santoro
0e6807e86b Recognize quux as a metasyntactic variable
quux is another metasyntactic variable like foo and so
should be detected by the blacklisted names linter.
2016-11-11 05:57:29 +01:00
Oliver Schneider
a56af73fd8
mark cyclomatic complexity attribute as used
fixes #1315
2016-11-02 10:29:57 +01:00
Oliver Schneider
053896b678 Merge pull request #1307 from Kha/partialeq_ne
Implement 'Re-implementing `PartialEq::ne`' lint
2016-10-31 09:06:14 -04:00
Sebastian Ullrich
9314965af0 inspector: fix printing non-local trait refs 2016-10-30 15:00:59 -04:00
Oliver Schneider
8b2e80b47b Merge pull request #1299 from Manishearth/clippy-toml
Search for `clippy.toml` recursively
2016-10-30 14:35:32 -04:00
Sebastian Ullrich
90f71be4e9 factor out is_automatically_derived util fn 2016-10-30 14:25:06 -04:00
d-dorazio
d213040381 Add lint for redundant pattern matching in iflet for Result/Option 2016-10-30 15:43:46 +01:00
mcarton
d52af53e04
Search for clippy.toml recursively 2016-10-25 19:41:24 +02:00
Oliver Schneider
233459ea33
clean up docs for clippy_dump 2016-10-24 16:30:22 +02:00
Oliver Schneider
34deb72c36
properly name the docs 2016-10-24 15:43:37 +02:00
Oliver Schneider
ed50cb133d
dogfood 2016-10-24 15:16:21 +02:00
Oliver Schneider
6a6dfa59da
factor out decl dumping 2016-10-24 14:29:09 +02:00
Oliver Schneider
1248159f0d
add expression and pattern dump 2016-10-24 14:28:58 +02:00
Oliver Schneider
f29ab8c245
Merge branch 'master' of github.com:Manishearth/rust-clippy into deep_code_inspection 2016-10-24 10:39:19 +02:00
Arnavion
2315a817ce Changed signature of cargo::metadata according to review comment. 2016-10-23 12:24:16 -07:00
Arnavion
ebbd00b1ab Don't assume the first package in the result of cargo metadata is the current crate.
Instead find the one with the manifest path that matches the --manifest-path argument or the current directory.

Fixes #1247
2016-10-22 18:15:42 -07:00
mcarton
1c3fce41b6
Rustup to *rustc 1.14.0-nightly (f09420685 2016-10-20)* 2016-10-22 15:57:19 +02:00
Oliver Schneider
a177d85681
rename inspection attribute to clippy_dump 2016-10-18 17:29:01 +02:00
Oliver Schneider
ff3efc759e
initial implementation of the code inspector lint 2016-10-18 16:57:39 +02:00
Patrick Horlebein
4fbd8906e1 doc_markdown: Added "iOS" and "macOS" to the doc-valid-idents list 2016-10-12 15:32:44 +02:00
mcarton
0475eae1fa
Rustup to *rustc 1.14.0-nightly (3210fd5c2 2016-10-05)* 2016-10-06 17:46:50 +02:00
mcarton
2b8500664c
Remove warning in the lastest nightly 2016-10-04 17:17:40 +02:00
mcarton
4f91d66905 Rustup to *rustc 1.14.0-nightly (144af3e97 2016-10-02)* 2016-10-03 21:25:27 +02:00
Manish Goregaokar
a4198c1108 Merge pull request #1255 from Manishearth/cov
Improve test coverage
2016-10-03 22:15:23 +05:30
mcarton
9a3f53dee6
Partially hash let declaration in SpanlessHash
The hash never needs to be good but before it was simply doing nothing
for these.
2016-10-02 02:17:04 +02:00
mcarton
e036a8145a
Support ExprType (type ascription) comparison
*ish
2016-10-01 22:26:57 +02:00
mcarton
3e009b9424
Implement more hir typed node comparison 2016-10-01 22:19:20 +02:00
Elliott Clark
5fa004313b Add a lint to warn about un-necessary .into_iter()
This should close #1094.
2016-09-30 17:42:43 -07:00
mcarton
4f3920307a
Rustup to *rustc 1.13.0-nightly (d0623cf7b 2016-09-26)* 2016-09-28 01:09:11 +02:00
mcarton
c8986b4676
Fix FP with WHILE_LET_ON_ITERATOR and refutable pats 2016-09-16 15:50:35 +02:00
mcarton
90c390ec2a
Fix typo
Who cares? Meh, consistency.
2016-09-16 15:45:19 +02:00
mcarton
ab6669a641
Rustup to *rustc 1.13.0-nightly (f1f40f850 2016-09-09)* 2016-09-10 19:13:49 +02:00
kennytm
5f09020e90 Added a lint_without_lint_pass lint.
Four lints were missing from LintPass, making them unavailable unless the
`clippy` lint group is explicitly enabled:

* `for_loop_over_result`
* `for_loop_over_option`
* `match_overlapping_arm`
* `filter_next`
2016-09-01 15:07:37 +08:00
mcarton
3f43996aa5
Rustup to *1.13.0-nightly (eac41469d 2016-08-30)* 2016-08-31 18:22:35 +02:00
mcarton
d87f137254
Add a builtin_type_shadow lint 2016-08-28 19:56:18 +02:00
mcarton
189c5e5cfc
Rustup to rustc 1.13.0-nightly (a23064af5 2016-08-27) 2016-08-28 17:25:58 +02:00
mcarton
be329ebdf7
Typo
TIL what `wether` means.
2016-08-23 19:51:42 +02:00
mcarton
9a2aadf872
Deny missing_docs_in_private_items in some modules 2016-08-23 19:39:36 +02:00
llogiq
cf2b0c8dd6 New cmp_null lint (fixes #1184) (#1186)
* new cmp_null lint (fixes #1184)

* adressed comments (still fails)

* fixed tests, dogfood, ran update_lints
2016-08-22 18:29:29 +02:00
Oliver Schneider
40720a61e8
rustup for the ! type 2016-08-17 17:58:15 +02:00