Eduardo Broto
baf62e7a38
Update changelog to beta 1.47
2020-08-27 14:48:07 +02:00
Jane Lusby
91024f1fde
Add new lint to prevent usage of unwrap in fns that return result
2020-08-26 16:31:49 -07:00
Bastian
680c68153b
Added a lint which corrects expressions like (a - b) < f32::EPSILON
2020-08-24 16:31:51 +02:00
Tomasz Miąsko
4f4abf4e06
Warn about explicit self-assignment
...
Warn about assignments where left-hand side place expression is the same
as right-hand side value expression. For example, warn about assignment in:
```rust
pub struct Event {
id: usize,
x: i32,
y: i32,
}
pub fn copy_position(a: &mut Event, b: &Event) {
a.x = b.x;
a.y = a.y;
}
```
2020-08-16 23:31:36 +02:00
Dániel Buga
fc1e07e0c1
Rename lint to use plural form
2020-08-16 22:16:39 +02:00
Dániel Buga
d7220dbd91
Run cargo dev update_lints
2020-08-16 20:27:54 +02:00
Dániel Buga
923d61222c
Rename the changelog footnote as well
2020-08-16 20:27:22 +02:00
Dániel Buga
a3ea65c2d9
Implement new lint
2020-08-16 20:27:22 +02:00
bors
c8e05fc1c6
Auto merge of #5881 - wiomoc:feature/single-char-push_str, r=ebroto,flip1995
...
Lint `push_str` with a single-character string literal
Fixes #5875
changelog: `* [single_char_push_str]`
2020-08-16 16:41:57 +00:00
Christoph Walcher
72d2c2eab4
Lint push_str
with a single-character string literal
...
Fixes #5875
2020-08-15 01:40:55 +02:00
chansuke
8e549978e5
Don't use to_string
in impl Display
2020-08-14 21:38:11 +09:00
bors
09bd400243
Auto merge of #5891 - flip1995:rustup, r=flip1995
...
Rustup
r? @ghost
Sync back rust-lang/rust#75098
changelog: none
2020-08-11 12:32:10 +00:00
robojumper
82c816ee02
Fix CHANGELOG's commit range links
...
Two most recent links linked to the wrong range
changelog: none
2020-08-10 17:45:04 +02:00
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