Philipp Krones
8ee57eed79
Rollup merge of #5869 - wiomoc:feature/implicit-self, r=ebroto,flip1995
...
New lint against `Self` as an arbitrary self type
Fixes #5861
changelog: * [`needless_arbitrary_self_type`] [#5869 ](https://github.com/rust-lang/rust-clippy/pull/5869 )
2020-08-10 14:56:26 +02:00
Philipp Krones
9da5b6d1d0
Rollup merge of #5825 - giraffate:same_item_push, r=Manishearth
...
Add the new lint `same_item_push`
changelog: Add the new lint `same_item_push`
Fixed #4078 . As I said in https://github.com/rust-lang/rust-clippy/issues/4078#issuecomment-658184195 , I referrerd to https://github.com/rust-lang/rust-clippy/pull/4647 .
2020-08-10 14:56:25 +02:00
Christoph Walcher
d635b76eaf
adopt comments from review
2020-08-07 18:08:51 +02:00
Christoph Walcher
e0a4988fcc
Lint against Self
as an arbitrary self type
...
Fixes #5861
2020-08-07 18:08:51 +02:00
Ryan1729
5e84b8c2fb
run cargo dev new_lint then move transmutes_expressible_as_ptr_casts into transmute module
2020-08-06 04:24:24 -06:00
bors
2d4c3379d3
Auto merge of #5809 - JarredAllen:stable_sort_primitive, r=Manishearth
...
Stable sort primitive
changelog: Implements #5762
2020-08-05 20:41:21 +00:00
Takayuki Nakata
1e8ada3cab
Add lint same_item_push
2020-08-05 22:51:38 +09:00
Philipp Krones
84455b211f
Rollup merge of #5852 - wiomoc:feature/lint-duplicate-trait, r=Manishearth
...
Add lint for duplicate methods of trait bounds
rel: #5777
changelog: Add [`trait_duplication_in_bounds`] lint
2020-08-04 12:06:41 +02:00
JarredAllen
25abd7ae76
Create stable_sort_primitive lint
2020-08-03 11:17:43 -07:00
Christoph Walcher
94c50bc8c9
Lint duplicate methods of trait bounds
...
Fixes #5777
2020-07-28 16:42:26 +02:00
Ryan1729
5a644964fc
run cargo dev new_lint
...
specifically:
cargo dev new_lint --name derive_ord_xor_partial_ord --category correctness --pass late
2020-07-26 20:40:57 -06:00
flip1995
d164ab65f7
Merge commit 'da5a6fb1b65ec6581a67e942a3850f6bc15a552c' into clippyup
2020-07-26 21:07:07 +02:00
flip1995
aba0d244d4
Typo: Change Log -> Changelog
2020-07-16 15:40:13 +02:00
flip1995
cf383cf48a
Update changelog to beta-1.46
2020-07-16 15:36:53 +02:00
Matthias Krüger
126790999a
new lint: Returning unit from closures expecting Ord
...
This lint catches cases where the last statement of a closure expecting
an instance of Ord has a trailing semi-colon. It compiles since the
closure ends up return () which also implements Ord but causes
unexpected results in cases such as sort_by_key.
Fixes #5080
reprise: rebase, update and address all concerns
2020-07-14 15:54:04 +02:00
flip1995
6f25adbd5a
Merge commit '2ca58e7dda4a9eb142599638c59dc04d15961175' into clippyup
2020-07-14 14:59:59 +02:00
bors
12df6384b9
Auto merge of #5773 - giraffate:repeat_once, r=flip1995
...
Add a lint for `.repeat(1)`
changelog: New lint `repeat_once`
fix #3028 .
2020-07-14 09:13:58 +00:00
Takayuki Nakata
5307cb5614
Add a lint for .repeat(1)
...
fix #3028 .
2020-07-07 23:13:39 +09:00
robojumper
2e8a1be444
new lint: match_like_matches_macro
2020-07-06 18:25:20 +02:00
JarredAllen
ccb999851a
Fix compile error from library change
2020-07-03 16:50:45 -07:00
JarredAllen
93f0f5d37b
Last few tweaks
2020-07-03 16:50:45 -07:00
JarredAllen
bf48a2d50d
Lint for if let Some(x) = ... instead of Option::map_or
2020-07-03 16:47:38 -07:00
Robert Sedlacek
c3c402783f
Added restriction lint: pattern-type-mismatch
2020-07-03 18:12:29 +02:00
Eduardo Broto
814349f941
Lint enabling the whole restriction group
2020-06-30 21:56:19 +02:00
Teddy_Wang
40ee620e51
Added a lint for .map(|x| x)
2020-06-13 10:08:12 -04:00
Lzu Tao
8db24840f7
Merge commit 'ff0993c5e9162ddaea78e83d0f0161e68bd4ea73' into clippy
2020-06-09 14:36:01 +00:00
Mazdak Farrokhzad
7b6dc7b33d
add unnested_or_patterns
lint
2020-06-07 21:09:47 +02:00
bors
6fc9939893
Auto merge of #5671 - ebroto:changelog_144_145, r=flip1995
...
Update changelog for stable:1.44 beta:1.45
[Rendered](https://github.com/ebroto/rust-clippy/blob/changelog_144_145/CHANGELOG.md )
changelog: none
2020-06-05 12:52:23 +00:00
Eduardo Broto
dcd4806782
Apply suggestions from PR review
2020-06-02 20:45:57 +02:00
bors
f760d77bdb
Auto merge of #5597 - esamudera:slice_iter_next, r=flip1995
...
New lint: iter_next_slice
Hello, this is a work-in-progress PR for issue: https://github.com/rust-lang/rust-clippy/issues/5572
I have implemented lint to replace `iter().next()` for `slice[index..]` and `array` with `get(index)` and `get(0)` respectively. However since I made a lot of changes, I would like to request some feedback before continuing so that I could fix mistakes.
Thank you!
---
changelog: implement `iter_next_slice` lint and test, and modify `needless_continues`, `for_loop_over_options_result` UI tests since they have `iter().next()`
2020-06-02 11:42:22 +00:00
Eduardo Broto
a44fa387ef
Update documentation on changelog updates
2020-06-01 20:30:20 +02:00
Eduardo Broto
6955420ace
Update changelog for stable:1.44 beta:1.45
2020-06-01 09:19:54 +02:00
JarredAllen
b89880a30c
Ran update_lints
2020-05-31 15:19:31 -07:00
Ericko Samudera
32fde0b511
New lint: iter_next_slice
2020-06-01 03:08:51 +07:00
JarredAllen
7e843515d9
Created lint
2020-05-31 11:55:45 -07:00
Tim Nielens
5faab874f9
new lint: vec_resize_to_zero
2020-05-30 17:52:10 +02:00
flip1995
a0e9f9bd0d
Merge commit '7ea7cd165ad6705603852771bf82cc2fd6560db5' into clippyup2
2020-05-28 15:45:24 +02:00
bors
cafa94662c
Auto merge of #5582 - vtmargaryan:match_wildcard_for_single_variants, r=flip1995
...
New lint: `match_wildcard_for_single_variants`
changelog: Added a new lint match_wildcard_for_single_variants to warn on enum matches where a wildcard is used to match a single variant
Closes #5556
2020-05-20 12:51:28 +00:00
flip1995
f1d3086492
Merge commit 'e214ea82ad0a751563acf67e1cd9279cf302db3a' into clippyup
2020-05-17 17:36:26 +02:00
bors
e214ea82ad
Auto merge of #5568 - ThibsG:RenameIdentityConversionLint, r=flip1995
...
Rename lint `identity_conversion` to `useless_conversion`
Lint name `identity_conversion` was misleading, so this PR renames it to `useless_conversion`.
As decision has not really came up in the issue comments, this PR will probably need discussion.
fixes #3106
changelog: Rename lint `identity_conversion` to `useless_conversion`
2020-05-17 11:29:04 +00:00
Aleksei Latyshev
07f1edf2d4
improve and generalize option_and_then_some
lint
...
- rename it to bind_instead_of_map
2020-05-17 12:17:03 +03:00
ThibsG
e55b920970
Rename lint identity_conversion
to useless_conversion
2020-05-16 22:50:20 +02:00
ThibsG
ab87f87ba0
Fix CHANGELOG.md and lint names plural
2020-05-15 18:27:11 +02:00
ThibsG
93386563f6
Rename lint map_unwrap
to map_unwrap_or
and register lints as renamed
2020-05-15 09:17:39 +02:00
Vardan Margaryan
94e4b5ec31
Add the redundant_wildcard_enum_match lint
2020-05-14 22:36:46 +03:00
ThibsG
adbdf7549c
Merge for_loop_over_option
and for_loop_over_result
lints into for_loop_over_fallible
lint
2020-05-14 16:01:07 +02:00
ThibsG
0e8be599cd
Merge option_expect_used
and result_expect_used
lints into expect_used
lint
2020-05-14 16:01:07 +02:00
ThibsG
bcf61666bd
Merge option_unwrap_used
and result_unwrap_used
lints into unwrap_used
lint
2020-05-14 16:01:07 +02:00
ThibsG
6cbdd1e49d
Merge option_map_unwrap_or
, option_map_unwrap_or_else
and result_map_unwrap_or_else
lints into map_unwrap
lint
2020-05-14 15:56:17 +02:00
ThibsG
945c944709
Merge block_in_if_condition_expr
and block_in_if_condition_stmt
lints into block_in_if_condition
lint
2020-05-14 15:56:17 +02:00
Eduardo Broto
0f2b1193f9
Remove reverse_range_loop lint
2020-05-13 20:33:32 +02:00
Eduardo Broto
8ffa0bfaa2
New lint: reversed_empty_ranges
2020-05-13 20:33:32 +02:00
flip1995
d13d8987b0
Merge commit '43a1777b89cf6791f9e20878b4e5e3ae907867a5' into clippyup
2020-05-11 20:23:47 +02:00
Eduardo Broto
3b58d66b22
Add the manual_async_fn lint
2020-05-07 21:42:40 +02:00
Eduardo Broto
f072ded3bf
Implement the manual_non_exhaustive lint
2020-05-01 02:10:16 +02:00
bors
d13ffbe3fe
Auto merge of #5522 - CrazyRoka:match_vec_item, r=phansch
...
New lint `match_vec_item`
Added new lint to warn a match on index item which can panic. It's always better to use `get(..)` instead.
Closes #5500
changelog: New lint `match_on_vec_items`
2020-04-27 06:02:05 +00:00
Eduardo Broto
149f6d6046
Implement mismatched_target_os lint
2020-04-26 21:27:29 +02:00
CrazyRoka
63b451ea25
Renamed lint to match_on_vec_items
2020-04-25 11:34:16 +03:00
CrazyRoka
96e2bc80f5
Added lint match_vec_item
2020-04-24 22:45:15 +03:00
bors
a609a9eb79
Auto merge of #5498 - phansch:update_changelog, r=flip1995
...
Update CHANGELOG.md for Rust 1.43 and 1.44
[Rendered](https://github.com/phansch/rust-clippy/blob/update_changelog/CHANGELOG.md )
changelog: none
2020-04-23 18:35:22 +00:00
Andy Weiss
6c25c3c381
Lint for holding locks across await points
...
Fixes #4226
This introduces the lint await_holding_lock. For async functions, we iterate
over all types in generator_interior_types and look for types named MutexGuard,
RwLockReadGuard, or RwLockWriteGuard. If we find one then we emit a lint.
2020-04-21 21:07:43 -07:00
Philipp Hansch
30c28a796d
Also mention --fix
for nightly users
2020-04-21 07:06:44 +02:00
Philipp Hansch
803670eeb2
Address review comments
2020-04-20 22:53:00 +02:00
Philipp Hansch
ca59ff2031
remark fixes
2020-04-20 22:29:27 +02:00
Philipp Hansch
4e63faa6df
Update CHANGELOG.md for Rust 1.43 and 1.44
2020-04-20 22:22:05 +02:00
bors
6ce05bf849
Auto merge of #5332 - DevinR528:if-let-else-mutex, r=flip1995
...
If let else mutex
changelog: Adds lint to catch incorrect use of `Mutex::lock` in `if let` expressions with lock calls in any of the blocks.
closes : #5219
2020-04-20 20:21:33 +00:00
Devin R
001a42e632
progress work on suggestion for auto fix
2020-04-20 06:29:59 -04:00
Eduardo Broto
00b4f2819f
Implement unsafe_derive_deserialize lint
2020-04-19 23:26:17 +02:00
pmk21
7c52e51d79
Added basic lint and tests
2020-04-18 11:39:54 +05:30
Roland Kuhn
d2cbbff217
add lint futures_not_send
2020-04-17 13:54:05 +02:00
Philipp Krones
ceea3c6a35
Rollup merge of #5248 - ThibsG:ConstValues, r=flip1995
...
Add lint on large non scalar const
This PR adds the new lint `non_scalar_const` that aims to warn against `const` declaration of large arrays. For performance, because of inlining, large arrays should be preferably declared as `static`.
Note: i made this one to warn on all const arrays, whether they are in a body function or not. I don't know if this is really necessary, i could just reduce this lint to variables out of function scope.
Fixes : #400
changelog: add new lint for large non-scalar types declared as const
2020-04-15 20:12:28 +02:00
ThibsG
72b9ae2a10
Use only check_expr with parent expr and precedence
2020-04-15 17:18:12 +02:00
ThibsG
6b4ab82746
Global rework + fix imports
2020-04-15 17:18:12 +02:00
ThibsG
380f7218b3
Add lint on large const arrays
2020-04-09 09:09:39 +02:00
Nick Torres
91d8a804d3
result_map_or_into_option: add lint to catch manually adpating Result -> Option
...
Result<T, E> has an `ok()` method that adapts a Result<T,E> into an Option<T>.
It's possible to get around this adapter by writing Result<T,E>.map_or(None, Some).
This lint is implemented as a new variant of the existing
[`option_map_none` lint](https://github.com/rust-lang/rust-clippy/pull/2128 )
2020-04-04 03:17:13 -07:00
Jacek Pospychala
f8e892db5e
useless Rc<Rc<T>>, Rc<Box<T>>, Rc<&T>, Box<&T>
2020-04-02 00:02:25 +02:00
Tomasz Miąsko
b77b219280
Lint unnamed address comparisons
2020-03-30 21:42:16 +02:00
bors
d3989eef2d
Auto merge of #5319 - 1tgr:master, r=flip1995
...
Lint for `pub(crate)` items that are not crate visible due to the visibility of the module that contains them
changelog: Add `redundant_pub_crate` lint
Closes #5274 .
2020-03-23 20:35:49 +00:00
flip1995
552768f092
Update changelog to 1.43.0 beta
2020-03-18 14:55:44 +01:00
Tim Robinson
52208f3cf3
Lint for pub(crate)
items that are not crate visible due to the visibility of the module that contains them
...
Closes #5274 .
2020-03-16 12:21:00 +00:00
flip1995
7b08c7a36e
Change changelog formatting
2020-03-12 21:02:15 +01:00
flip1995
da29402d2e
Update CHANGELOG.md
2020-03-12 21:01:19 +01:00
Jacob Meyers
0f7f30711e
add lint on File::read_to_string and File::read_to_end
2020-03-06 09:50:49 -05:00
flip1995
57393b5106
Rename macro_use_import -> macro_use_imports
2020-03-05 19:22:17 +01:00
Devin R
597e02dcdf
warn on macro_use attr
2020-03-04 09:36:02 -05:00
ThibsG
2aa14c9beb
Add restrictive pat use in full binded struct
2020-03-04 09:11:07 +01:00
Krishna Sai Veera Reddy
ff0d44e45a
Add imprecise_flops
lint
...
Add lint to detect floating point operations that can be computed more
accurately at the cost of performance. `cbrt`, `ln_1p` and `exp_m1`
library functions call their equivalent cmath implementations which is
slower but more accurate so moving checks for these under this new lint.
2020-02-23 22:36:15 -08:00
Krishna Sai Veera Reddy
4065ca9c8c
Move manual_mul_add
into suboptimal_flops
lint
2020-02-23 22:20:34 -08:00
Krishna Sai Veera Reddy
6dacb1aa67
Change lint name to suboptimal_flops
2020-02-23 22:20:34 -08:00
Krishna Veera Reddy
1f4f357bf5
Consolidate the accuracy and efficiency lints
...
Merge the accuracy and efficiency lints into a single lint that
checks for improvements to accuracy, efficiency and readability
of floating-point expressions.
2020-02-23 22:20:33 -08:00
Krishna Veera Reddy
c636c6a55b
Add lints to detect inaccurate and inefficient FP operations
...
Add lints to detect floating point computations that are either
inaccurate or inefficient and suggest better alternatives.
2020-02-23 22:20:33 -08:00
flip1995
4229dbcf33
Run update_lints
2020-02-21 11:14:16 +01:00
Krishna Sai Veera Reddy
219c94d028
Separate out lint to check lossy whole number float literals
2020-02-20 22:33:36 -08:00
flip1995
757bbf7feb
Fix markdown Files
...
Rendered:
[CHANGELOG.md](https://github.com/flip1995/rust-clippy/blob/gha/CHANGELOG.md )
[CODE_OF_CONDUCT.md](https://github.com/flip1995/rust-clippy/blob/gha/CODE_OF_CONDUCT.md )
[CONTRIBUTING.md](https://github.com/flip1995/rust-clippy/blob/gha/CONTRIBUTING.md )
[README.md](https://github.com/flip1995/rust-clippy/blob/gha/README.md )
[clippy_dummy/PUBLISH.md](https://github.com/flip1995/rust-clippy/blob/gha/clippy_dummy/PUBLISH.md )
[doc/adding_lints.md](https://github.com/flip1995/rust-clippy/blob/gha/doc/adding_lints.md )
[etc/relicense/RELICENSE_DOCUMENTATION.md](https://github.com/flip1995/rust-clippy/blob/gha/etc/relicense/RELICENSE_DOCUMENTATION.md )
2020-02-12 09:34:25 +01:00
Krishna Sai Veera Reddy
be1bc571c3
Add option-env-unwrap
lint
2020-02-08 16:44:35 -08:00
Areredify
338fb7a3e9
add excessive bools lints
2020-02-05 20:54:58 +03:00
ThibsG
6afd7ea147
Use span_lint_and_sugg + move infaillible lint
...
- moving infaillible lint to prevent collisions
2020-02-04 22:49:08 +01:00
flip1995
1ef4509eb4
Update changelog
2020-01-30 23:34:07 +01:00
Mikhail Babenko
d1f8621711
add lint
2020-01-30 16:48:56 +03:00
xiongmao86
512efbea23
Declare lint and implement lint logic.
2020-01-30 00:21:29 +08:00