Takayuki Nakata
96b31a5b36
Fix FP when coercion kicks in
2020-09-06 00:02:35 +09:00
Ryan1729
04ba07bdc3
add line_count and max_lines to too_many_lines lint message
2020-09-04 19:26:35 -06:00
Jane Lusby
c31d4730b0
update example to be more idiomatic
2020-09-04 15:55:13 -07:00
Eduardo Broto
2905fff936
Run cargo dev fmt
2020-09-04 23:30:55 +02:00
Eduardo Broto
7bcf40a13d
Fix fallout from rustup
2020-09-04 23:30:06 +02:00
Eduardo Broto
23646e6583
Merge remote-tracking branch 'upstream/master' into sync-from-rust
2020-09-04 23:27:01 +02:00
LeSeulArtichaut
4286d9c87a
ty.flags -> ty.flags()
2020-09-04 18:28:20 +02:00
LeSeulArtichaut
28f9b84042
ty.kind
-> ty.kind()
in rustdoc and clippy
2020-09-04 18:27:33 +02:00
Michael Wright
cf1cc7c449
Simplify clippy::default_trait_access
...
Remove repeated matching on the same QPath.
2020-09-04 05:15:31 +02:00
bors
8829214764
Auto merge of #5994 - taiki-e:useless_attribute, r=phansch
...
useless_attribute: Permit wildcard_imports and enum_glob_use
Fixes #5918
changelog: `useless_attribute`: Permit `wildcard_imports` and `enum_glob_use` on `use` items
2020-09-03 05:33:03 +00:00
Ricky
2387f68e43
Removed map_err suggestion in lint, and updated lint documentation example
2020-09-02 19:21:34 -04:00
Tim Nielens
b220ddf146
unit-arg - pr remarks
2020-09-02 23:30:40 +02:00
Tim Nielens
b1f0e019fe
Merge branch 'master' into unit-arg
2020-09-02 19:39:54 +02:00
bors
7f27b12288
Auto merge of #5996 - Koxiaet:master, r=ebroto
...
Allow GraphQL in docs without backticks
changelog: Allow "GraphQL" in [`doc_markdown`] without backticks.
2020-09-02 12:24:31 +00:00
Eduardo Broto
a5754a1fad
Run cargo dev fmt
2020-09-02 08:57:00 +02:00
Eduardo Broto
da86067775
Merge remote-tracking branch 'upstream/master' into sync-from-rust
2020-09-02 08:53:29 +02:00
Ricky
337729137b
Ran cargo dev update_lints
2020-09-01 17:05:40 -04:00
Ricky
202a80c927
Added tests for map_err, ignored map_err lint on drop_ref tests
2020-09-01 16:59:37 -04:00
Ricky
e49a29933b
Working map_err_ignore lint
2020-09-01 16:26:59 -04:00
Takayuki Nakata
aa7ffa5257
Fix FP in same_item_push
...
Don't emit a lint when the pushed item doesn't have Clone trait
2020-09-01 22:39:09 +09:00
Koxiaet
b30422114e
Allow GraphQL in doc without backticks
2020-09-01 14:05:19 +01:00
Taiki Endo
2e4b4cebbb
useless_attribute: Permit wildcard_imports and enum_glob_use
2020-09-01 12:09:32 +09:00
rail
afeb917fca
Fix a fp in transmute_ptr_to_ptr
...
Avoid firing the lint when `transmute` in const contexts
as dereferencing raw pointers in consts is unstable. cc #5959
2020-09-01 11:51:32 +12:00
bors
67e18c2d5c
Auto merge of #5993 - taiki-e:default_trait_access, r=phansch
...
default_trait_access: Fix wrong suggestion
https://github.com/rust-lang/rust-clippy/issues/5975#issuecomment-683751131
> I think the underlying problem is clippy suggests code with complete parameters, not clippy triggers this lint even for complex types. AFAIK, If code compiles with `Default::default`, it doesn't need to specify any parameters, as type inference is working. (So, in this case, `default_trait_access` should suggest `RefCell::default`.)
Fixes #5975 Fixes #5990
changelog: `default_trait_access`: fixed wrong suggestion
2020-09-01 15:05:16 +00:00
Vali Schneider
f9fcbbea03
fixed bug
2020-08-31 13:32:05 -07:00
bors
066f105d67
Auto merge of #5992 - giraffate:fix_wrong_seggestion_in_collapsible_if, r=yaahc
...
Fix the wrong suggestion when using macro in `collapsible_if`
Fix #5962
changelog: Fix the wrong suggestion when using macro in `collapsible_if`
2020-08-31 19:41:13 +00:00
bors
8334a58c2f
Auto merge of #5909 - khuey:async_yields_async, r=yaahc
...
Add a lint for an async block/closure that yields a type that is itself awaitable.
This catches bugs of the form
tokio::spawn(async move {
let f = some_async_thing();
f // Oh no I forgot to await f so that work will never complete.
});
See the two XXXkhuey comments and the unfixed `_l` structure for things that need more thought.
*Please keep the line below*
changelog: none
2020-08-31 19:20:30 +00:00
Taiki Endo
8b0aa6a00b
default_trait_access: Fix wrong suggestion
2020-09-01 00:31:53 +09:00
Takayuki Nakata
001f9e45f2
Fix the wrong suggestion when using macro in collapsible_if
2020-09-01 00:05:53 +09:00
Hirochika Matsumoto
451ef78803
Use match_def_path
instead of match_qpath
2020-08-31 22:40:47 +09:00
bors
001c1c51d2
Auto merge of #5984 - ebroto:5693_const_assoc_fn, r=flip1995
...
or_fn_call: ignore nullary associated const fns
The fix in #5889 was missing associated functions.
changelog: Ignore also `const fn` methods in [`or_fun_call`]
Fixes #5693
2020-08-31 10:43:58 +00:00
Aaron Hill
fdc48fb90c
Fix clippy
2020-08-30 19:17:17 -04:00
Camelid
17b2ba5ded
Syntax-highlight single_char_push_str
lint
2020-08-30 11:29:17 -07:00
Dylan MacKenzie
1c5b0fbe53
Update dataflow analyses to use new interface
2020-08-30 11:15:25 -07:00
Vali Schneider
73a3288282
uncommented fn
2020-08-29 16:22:15 -07:00
Vali Schneider
a424a2c167
changed check_impl_item to check_fn and added a few more test cases
2020-08-29 16:17:53 -07:00
Kyle Huey
04912ca115
Formatting changes requested by ThibsG.
2020-08-29 15:33:54 -07:00
Kyle Huey
4972989b61
Add a lint for an async block/closure that yields a type that is itself awaitable.
...
This catches bugs of the form
tokio::spawn(async move {
let f = some_async_thing();
f // Oh no I forgot to await f so that work will never complete.
});
2020-08-29 15:33:54 -07:00
Hirochika Matsumoto
5b7590f841
Downgrade applicability of create_dir
2020-08-29 14:20:01 +09:00
Eduardo Broto
7a66e6502d
or_fn_call: ignore nullary associated const fns
2020-08-29 01:20:49 +02:00
flip1995
282c59820b
Merge commit '3d0b0e66afdfaa519d8855b338b35b4605775945' into clippyup
2020-08-28 18:43:25 +02:00
bors
3d0b0e66af
Auto merge of #5774 - ThibsG:FixNewRetNoSelf, r=ebroto
...
Fix FP in `new_ret_no_self`: trigger in trait def instead of impl block
Lint in trait def instead of impl block.
Fixes : #5435
changelog: none
2020-08-28 11:54:07 +00:00
Hirochika Matsumoto
eebd248365
Fix errors
2020-08-28 19:56:19 +09:00
Hirochika Matsumoto
34e302e67c
Fix clippy error
2020-08-28 19:35:04 +09:00
Hirochika Matsumoto
607905d126
Add STD_FS_CREATE_DIR into paths
2020-08-28 18:53:15 +09:00
Hirochika Matsumoto
5574182b4d
Add a new lint to prevent create_dir
from being used
2020-08-28 18:45:28 +09:00
Thibaud
73b1ee1a61
Update clippy_lints/src/methods/mod.rs
...
Co-authored-by: Eduardo Broto <ebroto@tutanota.com>
2020-08-28 09:33:05 +02:00
Thibaud
ffaadae8e4
Update clippy_lints/src/utils/mod.rs
...
Co-authored-by: Eduardo Broto <ebroto@tutanota.com>
2020-08-28 09:31:29 +02:00
Thibaud
e8be047c5b
Update clippy_lints/src/utils/mod.rs
...
Co-authored-by: Eduardo Broto <ebroto@tutanota.com>
2020-08-28 09:31:12 +02:00
Vali Schneider
b006522393
added lint for todo and removed option
2020-08-27 16:55:23 -07:00
bors
07c5e9edb5
Auto merge of #5971 - giraffate:fix_fp_in_to_string_in_display, r=ebroto
...
Fix FP in `to_string_in_display`
Don't emit a lint when `.to_string()` on anything that is not `self`
Fix #5967
changelog: Fix FP in `to_string_in_display` when calling `.to_string()` on anything that is not `self`
2020-08-27 23:26:52 +00:00
Vali Schneider
8462cce960
edited documentation
2020-08-27 16:22:37 -07:00
Vali Schneider
ceab1a9167
removed unnecessary comment
2020-08-27 16:19:24 -07:00
Vali Schneider
459969f88f
added restriction lint that prohibits the usage of unimplemented, unreachable or panic in a function of type result or option
2020-08-27 16:18:05 -07:00
Tim Nielens
f3ccbef2af
unit-arg - pr comments
2020-08-27 19:36:28 +02:00
ThibsG
504612622f
Merge logic of looking for Self
type
2020-08-27 18:31:31 +02:00
ThibsG
3cb75c2e5c
Remove expansion restriction + fix doc and tests naming
2020-08-27 18:25:38 +02:00
ThibsG
2a3ee5fa85
Fix FP in new_ret_no_self
: trigger in trait def instead of impl block
2020-08-27 18:25:38 +02:00
Takayuki Nakata
04bff17668
Fix FP in to_string_in_display
...
Don't emit a lint when `.to_string()` on anything that is not `self`
2020-08-27 23:37:47 +09: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
rail
edc05da57d
Fix the wrong use of snippet_with_applicability
...
This includes a workaround of the issue #5822 ,
the cause of this little mistake.
2020-08-27 10:24:16 +12:00
bors
64c4bb0d2b
Auto merge of #5966 - 1c3t3a:1c3t3a-dev-5819-fix, r=Manishearth
...
Corrects the float_equality_without_abs lint
Fixes an issue in the `float_equality_without_abs` lint. The lint suggestion was configured in a way that it lints the whole error and not just the subtraction part. In the current configuration the lint would suggest to change the expression in a wrong way, e.g.
```rust
let _ = (a - b) < f32::EPSILON; // before
let _ = (a - b).abs(); // after
```
This was dicovered by @flip1995. (See discussion of PR #5952 ).
Also the suggestion is now formatted via `utils::sugg`.
changelog: none
2020-08-26 18:15:42 +00:00
Bastian
2d853148d7
Changed the location of the suggestion as well as the way the suggestion is assembled
2020-08-26 16:39:30 +02:00
bors
894581b872
Auto merge of #5946 - mikerite:fix-5729, r=flip1995
...
Fix `let_and_return` bad suggestion
Add a cast to the suggestion when the return expression has adjustments.
These adjustments are lost when the suggestion is applied.
This is similar to the problem in issue #4437 .
Closes #5729
changelog: Fix `let_and_return` bad suggestion
2020-08-26 12:01:32 +00:00
bors
9ef44799bf
Auto merge of #5949 - rail-rain:fix_fp_borrow_interior_mutable_const, r=oli-obk
...
Fix fp in `borrow_interior_mutable_const`
fixes #5796
changelog: fix false positive in `borrow_interior_mutable_const` when referencing a field behind a pointer.
2020-08-26 11:06:37 +00:00
Hirochika Matsumoto
9d18c24b56
Fix typo
2020-08-26 16:03:35 +09:00
bors
ad7a03cbaa
Auto merge of #5951 - ThibsG:FixMacroCloneOnRefPtr2076, r=ebroto
...
Fix incorrect suggestion when `clone_on_ref_ptr` is triggered in macros
In the lint `clone_on_ref_ptr`, if the `span` is in a macro, don't expand it for suggestion.
Fixes : #2076
changelog: none
r? @ebroto
2020-08-25 21:48:19 +00:00
Thibaud
370fc45a0a
Update clippy_lints/src/methods/mod.rs
...
Co-authored-by: Eduardo Broto <ebroto@tutanota.com>
2020-08-25 22:20:35 +02:00
Scott McMurray
3b1e5d6ff7
Re-enable len_zero for ranges now that is_empty
is stable on them
2020-08-25 12:17:03 -07:00
bors
f9015592f3
Auto merge of #5952 - 1c3t3a:1c3t3a-dev-5819, r=Manishearth
...
Added a lint which corrects expressions like (a - b) < f32::EPSILON, according to #5819
Fixes #5819
changelog: none
2020-08-25 16:54:48 +00:00
Bastian
179df0bd15
Added F32::EPSILON and F64::EPSILON to paths.rs
2020-08-25 13:41:39 +02:00
bors
64b53f3877
Auto merge of #5920 - giraffate:fix_fp_for_redundant_closure_call, r=mikerite
...
Fix FP for `redundant_closure_call`
Fix #5916
changelog: Fix FP for `redundant_closure_call` when called in function body
2020-08-25 03:29:59 +00:00
Matthias Krüger
e9964f2e8a
stable_sort_primitive: print the type that is being sorted in the lint message
2020-08-24 20:06:43 +02:00
Bastian
680c68153b
Added a lint which corrects expressions like (a - b) < f32::EPSILON
2020-08-24 16:31:51 +02:00
ThibsG
3d820f71fe
Fix incorrect suggestion when clone_on_ref_ptr
is triggered in macros
2020-08-24 14:05:49 +02:00
Takayuki Nakata
9fe0ac36a5
Avoid period in lint message according to convention
2020-08-24 10:11:53 +09:00
Takayuki Nakata
b2c2266792
Fix FP for redundant_closure_call
...
Visit the nested things like function body when checking closure call.
2020-08-24 09:43:16 +09:00
rail
91b200c62b
Fix fp in borrow_interior_mutable_const
...
Fix false positive when referencing a field behind a pointer.
2020-08-23 22:49:08 +12:00
Eduardo Broto
8776db9f6d
Fix ICE in repeat_once
lint
2020-08-23 12:05:34 +02:00
Michael Wright
e8d33d73dc
Fix let_and_return
bad suggestion
...
Add a cast to the suggestion when the return expression has adjustments.
These adjustments are lost when the suggestion is applied.
This is similar to the problem in issue #4437 .
Closes #5729
2020-08-23 07:50:59 +02:00
bors
dd07860b83
Auto merge of #5941 - ThibsG:InlineInCopyPassByRef, r=yaahc
...
Don't lint if it has always inline attribute
Don't trigger the lint `trivially_copy_pass_by_ref` if it has `#[inline(always)]` attribute.
Note: I am not particularly familiar with `inline` impacts, so I implemented this the way that if only `#[inline]` attribute is here (without `always`), the lint will still trigger. Also, it will still trigger if it has `#[inline(never)]`.
Just tell me if it sounds too much conservative.
Fixes : #5876
changelog: none
2020-08-22 18:30:39 +00:00
Christian Stefanescu
e615a26ae4
Use more elegant way to check for prelude string
2020-08-22 14:22:02 +02:00
Christian Stefanescu
5b07b9ed61
Widen understanding of prelude import
...
Prelude imports are exempt from wildcard import warnings. Until now only
imports of the form
```
use ...::prelude::*;
```
were considered. This change makes it so that the segment `prelude` can
show up anywhere, for instance:
```
use ...::prelude::v1::*;
```
Fixes #5917
2020-08-22 14:22:02 +02:00
ThibsG
191b6c798f
Don't lint if it has always inline attribute
2020-08-22 12:58:35 +02:00
bors
b57ef14290
Auto merge of #5926 - giraffate:improve_lint_message_in_to_string_in_display, r=yaahc
...
Improve lint message in `to_string_in_display`
This is a follow-up of https://github.com/rust-lang/rust-clippy/pull/5831 .
changelog: none
2020-08-22 04:51:38 +00:00
bors
aa3b04ff74
Auto merge of #5933 - mikerite:fix-5927, r=matthiaskrgr
...
Fix false negative in `option_as_ref_deref`
Closes #5927
changelog: Fix false negative in `option_as_ref_deref`
2020-08-21 23:43:20 +00:00
Eduardo Broto
146e352db4
run cargo dev fmt
2020-08-22 00:59:42 +02:00
Eduardo Broto
c2799c861d
Merge remote-tracking branch 'upstream/master' into sync-from-rust
2020-08-22 00:53:03 +02:00
Michael Wright
11efd75aeb
Fix false negative in option_as_ref_deref
2020-08-21 07:23:04 +02:00
Tim Nielens
2ecc2ac864
unit-arg - improve suggestion
2020-08-21 00:42:11 +02:00
bors
4104611913
Auto merge of #5928 - mikerite:fix-5924, r=ebroto
...
Fix false positive in `PRECEDENCE` lint
Extend the lint to handle chains of methods combined with unary negation.
Closes #5924
changelog: Fix false negative in `PRECEDENCE` lint
2020-08-20 22:09:27 +00:00
Aaron Hill
191b0806d2
Capture tokens for Pat used in macro_rules! argument
...
This extends PR #73293 to handle patterns (Pat). Unlike expressions,
patterns do not support custom attributes, so we only need to capture
tokens during macro_rules! argument parsing.
2020-08-20 02:45:28 -04:00
Michael Wright
c236c0fb56
Fix false positive in PRECEDENCE
lint
...
Extend the lint to handle chains of methods combined with unary negation.
Closes #5924
2020-08-20 06:34:48 +02:00
Takayuki Nakata
902b28275e
Improve lint message in to_string_in_display
2020-08-19 22:31:34 +09:00
Eduardo Broto
6a12bae194
no from/to bits in const: add tests cases for f64
2020-08-18 22:19:30 +02:00
Eduardo Broto
df4d42fc2d
transmute: avoid suggesting from/to bits in const
2020-08-18 21:55:56 +02:00
flip1995
c680602005
Merge remote-tracking branch 'upstream/master' into rustup
2020-08-18 19:50:23 +02:00
bors
4b0e6d5b90
Auto merge of #75120 - JulianKnodt:rm_reps, r=oli-obk
...
rust_ast::ast => rustc_ast
Rework of #71199 which is a rework #70621
Still working on this but just made the PR to track progress
r? @Dylan-DPC
2020-08-17 23:16:08 +00:00
Ujjwal Sharma
ae0eb390b0
rust_ast::ast => rustc_ast
2020-08-17 20:32:32 +00:00
bors
9360ca6dc2
Auto merge of #5908 - giraffate:fix_fp_for_same_item_push, r=flip1995
...
Fix FP for `same_item_push`
Fixes https://github.com/rust-lang/rust-clippy/issues/5902
changelog: Fix FP for `same_item_push` where the pushed variable is mutated.
2020-08-17 16:49:03 +00:00
David Wood
f13d2bfd9b
clippy: support QPath::LangItem
...
This commit updates clippy with the introduction of `QPath::LangItem` so
that it still compiles.
Signed-off-by: David Wood <david@davidtw.co>
2020-08-17 13:55:05 +01:00
bors
838c201af9
Auto merge of #5915 - matthiaskrgr:deps_, r=Manishearth
...
deps: bump cargo_metadata and semver
cargo_metadata 0.9.1 -> 0.11.1
semver 0.9.0 -> 0.10.0
changelog: none
2020-08-17 12:23:44 +00:00
Matthias Krüger
262db3b5e6
deps: bump cargo_metadata and semver
...
cargo_metadata 0.9.1 -> 0.11.1
semver 0.9.0 -> 0.10.0
2020-08-17 12:19:32 +02:00
Takayuki Nakata
99ba290a14
Improve code style
2020-08-17 08:36:02 +09: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
Tomasz Miąsko
d1dbf7913a
Expresions with Assign / AssignOp have side effects
2020-08-16 23:31:27 +02:00
Tomasz Miąsko
9b800b1e92
Rename SpanlessEq::ignore_fn to deny_side_effects
...
No functional changes intended.
2020-08-16 23:30:33 +02:00
Tomasz Miąsko
6afa4ef60f
Introduce function for comparing expression values
...
Introduce `eq_expr_value(cx, a, b)` as a shortcut for
`SpanlessEq::new(cx).ignore_fn().eq_expr(cx, a, b)`.
No functional changes intended.
2020-08-16 23:30:33 +02:00
bors
8d0d89adc8
Auto merge of #5720 - bugadani:new-lint, r=flip1995,yaahc
...
Add unnecessary lazy evaluation lint
changelog: Add [`unnecessary_lazy_evaluations`] lint that checks for usages of `unwrap_or_else` and similar functions that can be simplified.
Closes #5715
2020-08-16 20:27:43 +00:00
Dániel Buga
fc1e07e0c1
Rename lint to use plural form
2020-08-16 22:16:39 +02:00
Dániel Buga
b7ee8685ac
Fix dogfooding test errors
2020-08-16 21:04:02 +02:00
Dániel Buga
3b52d7f780
run cargo dev fmt
2020-08-16 20:51:16 +02:00
Dániel Buga
8a14c11536
Cleanup, explain return value
2020-08-16 20:50:30 +02:00
Dániel Buga
d71b418ac5
Moved to submodule, don't trigger if map_unwrap_or does
2020-08-16 20:47:50 +02:00
Hactar
d8f0a14da1
Fix typo in description of unnecessary_mut_passed
2020-08-16 14:43:34 -04:00
Dániel Buga
9c41822d34
Apply suggested change
...
Co-authored-by: Philipp Krones <hello@philkrones.com>
2020-08-16 20:27:54 +02:00
Dániel Buga
94cf90e5a5
Apply suggested change
...
Co-authored-by: Philipp Krones <hello@philkrones.com>
2020-08-16 20:27:54 +02:00
Dániel Buga
a7083eea1c
Removed the extra lifetime parameter
2020-08-16 20:27:54 +02:00
Dániel Buga
75637c1eda
Catch function calls in argument lists, add tests that tuples don't get linted
2020-08-16 20:27:54 +02:00
Dániel Buga
d7220dbd91
Run cargo dev update_lints
2020-08-16 20:27:54 +02:00
Dániel Buga
a7cc5d4068
Also simplify if the closure body is an index expression
2020-08-16 20:27:54 +02:00
Dániel Buga
848af39310
Add note to or_fun_call
, list checked methods
2020-08-16 20:27:54 +02:00
Dániel Buga
a3ea65c2d9
Implement new lint
2020-08-16 20:27:22 +02:00
bors
3bd98895f1
Auto merge of #5725 - montrivo:should-impl-trait, r=flip1995
...
should_impl_trait - ignore methods with lifetime params
Fixes : #5617
changelog: don't lint should_implement_trait when an `Iterator::next` case has explicit parameters
2020-08-16 17:51:18 +00:00
bors
78857cc9d3
Auto merge of #5907 - wiomoc:feature/useless-vec-max-size, r=flip1995
...
appreciative too_large_for_stack in useless `vec!`
Fixes : #5847
changelog: Add `too_large_for_stack ` configuration option for `USELESS_VEC`
2020-08-16 17:30:12 +00:00
bors
dff7e74b27
Auto merge of #5903 - jrqc:needless_return, r=ebroto,flip1995
...
Needless return
Fixes #5858
changelog: fix false positive [`needless_return`]
2020-08-16 17:08:45 +00: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
bors
e522ca3c8d
Auto merge of #5831 - chansuke:to_string_in_display, r=flip1995
...
Don't use `to_string` in impl Display
fixes #3876
this PR is derived from [Toxyxer's implementation](https://github.com/rust-lang/rust-clippy/pull/5574 ).
changelog: add [`to_string_in_display`] lint
2020-08-16 16:21:37 +00:00
Eduardo Broto
1a140dcc1c
Improve needless_doctest_main by using the parser
2020-08-16 00:25:54 +02:00
jrqc
baa4cb1cdd
early return removed
2020-08-16 00:24:27 +03:00
jrqc
96efaee552
cargo dev update_lints
2020-08-16 00:24:27 +03:00
jrqc
a7d5c2f967
Modifications according to the code review
2020-08-16 00:24:27 +03:00
jrqc
cd6ca72e0e
Known problems changed
2020-08-16 00:24:27 +03:00
jrqc
65d10c7abf
Borrow checker added
2020-08-16 00:24:27 +03:00
jrqc
85f4ef0fbd
Visitor added
2020-08-16 00:24:27 +03:00
jrqc
6d18fe730e
Make needless_return a late lint pass
2020-08-16 00:24:27 +03:00
bors
f0cc006964
Auto merge of #5910 - flip1995:rustup, r=flip1995
...
Rustup
r? @ghost
changelog: none
2020-08-15 12:05:11 +00:00
Christoph Walcher
b381ade179
elide lifetimes
2020-08-15 01:40:55 +02:00
Christoph Walcher
ae56e988a2
Merge lint with single_char_pattern
2020-08-15 01:40:55 +02:00
Christoph Walcher
72d2c2eab4
Lint push_str
with a single-character string literal
...
Fixes #5875
2020-08-15 01:40:55 +02:00
Takayuki Nakata
f98ffa271d
Fix FP for same_item_push
...
Don't emit a lint when `pushed_item` was declared as mutable variable.
2020-08-14 22:54:12 +09:00
chansuke
8e549978e5
Don't use to_string
in impl Display
2020-08-14 21:38:11 +09:00
Christoph Walcher
8514b8407a
appreciative too_large_for_stack in useless vec!
...
Fixes : #5847
2020-08-14 14:29:16 +02:00
Erich Gubler
48a142559d
docs: typo in temporary_cstring_as_ptr
: s/point/&s
2020-08-13 13:52:21 -06:00
Bastian Kauschke
429a1cedfa
merge as_local_hir_id
with local_def_id_to_hir_id
2020-08-13 16:55:16 +02:00
bors
d5f5487252
Auto merge of #5899 - JarredAllen:rc-box-suggestion, r=yaahc
...
Change Rc<Box<T>> recommendation to be Rc<T> instead of Box<T>
Fixes #5722
changelog: Suggest `Rc<Box<T>>` -> `Rc<T>` in [`redundant_allocation`] lint
2020-08-13 13:31:55 +00:00
bors
fc4fd91914
Auto merge of #5900 - ThibsG:ParensUselessConversion4750, r=phansch
...
Fix: keep parenthesis for suggestion in `useless_conversion` lint
Note: this lint was previously named `identity_conversion`.
fixes : #4750
changelog: fix parenthesis for `useless_conversion` lint suggestion
2020-08-13 05:27:29 +00:00
JarredAllen
4e28d99f41
Replace panics with early returns
2020-08-12 13:24:55 -07:00
ThibsG
5634c8da02
Fix: keep parenthesis for suggestion in useless_conversion
lint
2020-08-12 21:44:02 +02:00
bors
dc1e09bdc1
Auto merge of #5897 - matthiaskrgr:no_clone_tts, r=flip1995
...
write.rs: don't clone TokenStream
changelog: none
2020-08-12 17:36:23 +00:00
JarredAllen
480ccc3dbe
Change Rc<Box<T>> recommendation to be Rc<T> instead of Box<T>
2020-08-12 10:35:08 -07:00
bors
439bae62a4
Auto merge of #5884 - Ryan1729:patch-1, r=flip1995
...
Add the other overloadable operations to suspicious_arithmetic_impl
In #2268 I idly mused that the other user-overloadable operations could be added to this lint. Knowing that the lint was arguably incomplete was gnawing at the back of my mind, so I figured that I might as well make this PR, particularly given the change needed was so small.
changelog: Start warning on suspicious implementations of the `BitAnd`, `BitOr`, `BitXor`, `Rem`, `Shl`, and `Shr` traits.
2020-08-12 17:00:48 +00:00
bors
c73cf9f387
Auto merge of #5893 - matthiaskrgr:lint_msg, r=yaahc
...
fix remaining lint messages
r? @yaahc
changelog: make remaining lint messages adhere to rustc dev guide lint message convention.
2020-08-12 16:33:57 +00:00
Ryan Wiedemann
c70581732d
trailing comma
...
Should have actually ran rustfmt on it, rather than attempting to fix it manually
2020-08-12 10:33:16 -06:00
Ryan Wiedemann
616682deb7
formatting
2020-08-12 10:33:16 -06:00
Ryan Wiedemann
0fc61becb5
Add the other overloadable operations to suspicious_arithmetic_impl
...
In #2268 I idly mused that the other user-overloadable operations could be added to this lint. Knowing that the lint was arguably incomplete was gnawing at the back of my mind, so I figured that I might as well make this PR, particularly given the change needed was so small.
2020-08-12 10:33:16 -06:00
bors
2f4de2fc75
Auto merge of #5885 - Ryan1729:patch-2, r=flip1995
...
Add example of false positive to PTR_ARG docs.
Addresses #214
changelog: Add example of false positive to `ptr_arg` docs.
2020-08-12 15:51:39 +00:00
flip1995
318c74af2b
Merge remote-tracking branch 'upstream/master' into rustup
2020-08-12 17:03:54 +02:00
Ryan Wiedemann
7d2e42daec
fix typo pointed out in review comment
...
Co-authored-by: Philipp Krones <hello@philkrones.com>
2020-08-12 08:54:32 -06:00
Matthias Krüger
8a96b9cdfe
write.rs: don't clone TokenStream
2020-08-12 14:35:31 +02:00
bors
fdc2f879f1
Auto merge of #75405 - flip1995:clippyup, r=Manishearth
...
Update Clippy
Biweekly Clippy update (2 days late, since I wanted to wait for https://github.com/rust-lang/rust/pull/75098 )
r? @Manishearth
2020-08-12 00:34:19 +00:00
flip1995
027780ca2c
Merge commit '09bd400243ed6f7059fedc0c1623aae3792521d6' into clippyup
2020-08-11 17:50:45 +02:00
Matthias Krüger
be3e695b60
if_not_else: make lint adhere to lint message convention
2020-08-11 16:43:53 +02:00
Matthias Krüger
605e027fda
if_let_some_result: make lint adhere to lint message convention
2020-08-11 16:40:45 +02:00
Matthias Krüger
89591a78b8
enum-variant-names: make lint adhere to lint message convention
2020-08-11 16:38:20 +02:00
Matthias Krüger
db390f5e6a
enum-clike-unportable-variant: tweak message a bit (Clike -> C-like)
2020-08-11 16:35:09 +02:00
Matthias Krüger
2de290d5c5
duration-subsec: make lint adhere to lint message convention
2020-08-11 16:31:02 +02:00
Matthias Krüger
423615693b
pub-enum-variant-names: make lint adhere to lint message convention
2020-08-11 16:28:05 +02:00
Matthias Krüger
1f17c3b02b
multiple_inherent_impl: make lint adhere to lint message convention
2020-08-11 15:28:51 +02:00
Matthias Krüger
bdf4dc3abd
implicit-saturating-sub: make lint adhere to lint message convention
2020-08-11 15:22:59 +02:00
Matthias Krüger
f171f89aed
int_plus_one: make lint adhere to lint message convention
2020-08-11 15:15:26 +02:00
Matthias Krüger
6af297f80e
iter-next-slice: make lint adhere to lint message convention
2020-08-11 15:15:26 +02:00
Matthias Krüger
04867e004e
mutex-atomic: make lint adhere to lint message convention
2020-08-11 15:15:26 +02:00
Matthias Krüger
ac194cafc1
map_clone: make lint adhere to lint message convention
2020-08-11 15:15:26 +02:00
Matthias Krüger
c0a9d64818
stable-sort-primitive: make lint adhere to lint message convention
2020-08-11 15:15:26 +02:00
bors
3337f7956c
Auto merge of #5892 - matthiaskrgr:redundant_mut, r=flip1995
...
unnecessary-mut-passed: make lint message say if fn is a function or a method
changelog: refine "unnecessary-mut-passed" lint message
2020-08-11 12:52:41 +00: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
flip1995
9311c11d7c
Fix sync fallout
2020-08-11 14:21:27 +02:00
Matthias Krüger
b8713e3854
unnecessary-mut-passed: make lint message say if fn is a function or a method.
2020-08-11 14:16:56 +02:00
Yuki Okushi
91aa55d891
Rollup merge of #75226 - pnadon:miri-undef-uninit, r=RalfJung
...
Miri: Renamed "undef" to "uninit"
Renamed remaining references to "undef" to "uninit" when referring to Miri.
Impacted directories are:
- `src/librustc_codegen_llvm/consts.rs`
- `src/librustc_middle/mir/interpret/`
- `src/librustc_middle/ty/print/pretty.rs`
- `src/librustc_mir/`
- `src/tools/clippy/clippy_lints/src/consts.rs`
Upon building Miri based on the new changes it was verified that no changes needed to be made with the Miri project.
Related issue #71193
2020-08-11 16:23:47 +09:00
Dylan DPC
9e73d33680
Rollup merge of #75098 - Ryan1729:clippy-pointer-cast-lint-experiment, r=oli-obk
...
Clippy pointer cast lint experiment
This PR is an experiment about exposing more parts of `rustc_typeck` for use in `clippy`. In particular, the code that checks where a cast is valid or not was exposed, which necessitated exposing [`FnCtxt`](https://doc.rust-lang.org/nightly/nightly-rustc/rustc_typeck/check/struct.FnCtxt.html ), and figuring out how to create an instance of that type inside `clippy`.
This was prompted by [this clippy issue](https://github.com/rust-lang/rust-clippy/issues/2064 ).
r? @oli-obk
2020-08-11 01:56:30 +02:00
bors
cc5bfd473c
Auto merge of #5888 - matthiaskrgr:lints, r=yaahc
...
make a bunch of lints texts adhere to rustc dev guide
According to the rustc-dev guide: "The text should be matter of fact and avoid capitalization and periods, unless multiple sentences are needed"
changelog: make some lint output adhere to the rustc-dev guide
2020-08-10 22:40:42 +00:00
Matthias Krüger
1b46e485b2
Update clippy_lints/src/unwrap.rs
...
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-08-10 23:57:08 +02:00
Matthias Krüger
c514ff0c93
Update clippy_lints/src/neg_cmp_op_on_partial_ord.rs
...
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-08-10 23:57:08 +02:00
Matthias Krüger
dabf989195
neg-cmp-op-on-partial-ord: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
178da9b2ef
neg-multiply: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
e519bb3c85
overflow-check-conditional: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
9178363574
path-buf-push-overwrite: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
81f77a411e
range-zip-with-len: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
3e1e0c9bdb
redundant-static-lifetimes: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
5d69ca5e11
also change "deprecated-attribute" message
2020-08-10 23:49:06 +02:00
Matthias Krüger
fe37ddbd11
suspicious-arithmetic-impl: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
7954c22a99
unknown: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
b36a6c9594
ref_in_deref: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
4418ff122f
unneeded-field-pattern: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
2792260636
empty-liner-after-outer-attr: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
0db5cb1393
drop_bounds: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
590b91d8d4
double-parens: make lint adhere to lint message convention and do minor refactoring
2020-08-10 23:49:06 +02:00
Matthias Krüger
ba7a01a6a8
double-comparisons: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
6b0a6a70f8
default-trait-access: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
3d592b5154
cmp_null: make lint adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
8679dd375b
unnecessary_unwrap, panicking_unwrap: make lints adhere to lint message convention
2020-08-10 23:49:06 +02:00
Matthias Krüger
9b7ab1d38b
checked-conversions: make lint adhere to lint message convention
2020-08-10 23:48:57 +02:00
Eduardo Broto
5d66bd7bb3
Avoid or_fun_call for const_fn with no args
2020-08-10 23:38:58 +02:00
Matthias Krüger
40416c0fa8
naive_bytecount: make lint adhere to lint message convention
2020-08-10 20:55:23 +02:00
Matthias Krüger
fd379a889e
builtin-type-shadow: make lint adhere to lint message convention
2020-08-10 20:55:23 +02:00
Matthias Krüger
0876f17d77
bool-comparison: make lint adhere to lint message convention
2020-08-10 20:55:23 +02:00
Matthias Krüger
e57aafe33f
too-many-lines: make lint adhere to lint message convention
2020-08-10 20:55:23 +02:00
Ryan Wiedemann
fbf637d12c
formatting
2020-08-10 09:19:40 -06:00
Ryan Wiedemann
3e3e50bf0f
Add example of false positive to PTR_ARG docs.
...
Fixes #214
2020-08-10 08:50:20 -06:00
Philipp Krones
ee8db50e13
Rollup merge of #5871 - wiomoc:feature/methodcall-minmax, r=flip1995
...
Lint .min(x).max(y) with x < y
Fixes #5854
changelog: Also lint `ord.min(a).max(b)`, where `a < b` in [`min_max`] lint
2020-08-10 14:56:29 +02:00
Philipp Krones
08ab29bed1
Rollup merge of #5870 - ebroto:5789_allow_unsafe_derive_deserialize, r=flip1995
...
enable #[allow(clippy::unsafe_derive_deserialize)]
Before this change this lint could not be allowed as the code we are checking is automatically generated.
changelog: Enable using the `allow` attribute on top of an ADT linted by [`unsafe_derive_deserialize`].
Fixes : #5789
2020-08-10 14:56:27 +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
Tim Nielens
f9ba829f67
should_impl_trait - self linting
2020-08-09 16:09:08 +02:00
Tim Nielens
166c520e9a
should_impl_trait - pr comments
2020-08-09 15:10:00 +02:00
Tim Nielens
7cc1a2ed87
should_implement_trait - filter on explicit lifetime param only
2020-08-09 15:10:00 +02:00
Tim Nielens
e6b2254f9e
should_implement_trait - pr remarks
2020-08-09 15:10:00 +02:00
Tim Nielens
2bc0ecd44b
should_implement_trait - add test cases for every checked trait method
2020-08-09 15:10:00 +02:00
Tim Nielens
a77e881ec9
should_impl_trait - ignore methods with lifetime params
2020-08-09 15:10:00 +02:00
bors
70c46de012
Auto merge of #5877 - ebroto:5872_loops_ice, r=Manishearth
...
Fix ICE in `loops` module
changelog: Fix ICE related to `needless_collect` when a call to `iter()` was not present.
I went for restoring the old suggestion of `next().is_some()` over `get(0).is_some()` given that `iter()` is not necessarily present (could be e.g. `into_iter()` or `iter_mut()`) and that the old suggestion could change semantics, e.g. a call to `filter()` could be present between `iter()` and the collect part.
Fixes #5872
2020-08-08 18:44:48 +00:00
bors
3899d6001c
Auto merge of #5878 - flip1995:rustup, r=flip1995
...
Rustup
r? @ghost
changelog: none
2020-08-08 17:28:34 +00:00
flip1995
fd87cdb357
Run fmt
2020-08-08 19:20:34 +02:00
Eduardo Broto
888657e09a
Fix ICE in loops
module
2020-08-08 18:13:43 +02:00
Philippe Nadon
2d1515a2c5
Miri: Renamed "undef" to "uninit"
...
Renamed remaining references to "undef" to "uninit" when referring to Miri.
Impacted directories are:
- src/librustc_codegen_llvm/consts.rs
- src/librustc_middle/mir/interpret/
- src/librustc_middle/ty/print/pretty.rs
- src/librustc_mir/
- src/tools/clippy/clippy_lints/src/consts.rs
Upon building Miri based on the new changes it was verified that no changes needed to be made with the Miri project.
Related issue #71193
2020-08-08 07:53:47 -06:00
Nicholas Nethercote
01bba2c532
Eliminate the SessionGlobals
from librustc_ast
.
...
By moving `{known,used}_attrs` from `SessionGlobals` to `Session`. This
means they are accessed via the `Session`, rather than via TLS. A few
`Attr` methods and `librustc_ast` functions are now methods of
`Session`.
All of this required passing a `Session` to lots of functions that didn't
already have one. Some of these functions also had arguments removed, because
those arguments could be accessed directly via the `Session` argument.
`contains_feature_attr()` was dead, and is removed.
Some functions were moved from `librustc_ast` elsewhere because they now need
to access `Session`, which isn't available in that crate.
- `entry_point_type()` --> `librustc_builtin_macros`
- `global_allocator_spans()` --> `librustc_metadata`
- `is_proc_macro_attr()` --> `Session`
2020-08-08 12:03:42 +10:00
Christoph Walcher
87e740921a
check impl Ord / is_float
2020-08-07 18:30:20 +02:00
Christoph Walcher
bfe610cc8d
ignore mutable self reference parameters
2020-08-07 18:08:51 +02:00
Christoph Walcher
e03f73e627
fix nits
2020-08-07 18:08:51 +02:00
Christoph Walcher
d635b76eaf
adopt comments from review
2020-08-07 18:08:51 +02:00
Christoph Walcher
737f62cb6e
fix doc
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
Vadim Petrochenkov
a285b58368
Add some comments for magic numbers + Add tests
2020-08-06 22:55:26 +03:00
Vadim Petrochenkov
d642c3b6f8
Fix clippy
2020-08-06 22:13:11 +03:00
Ryan Wiedemann
49c7e39d03
Apply suggestions from code review
...
Co-authored-by: Philipp Krones <hello@philkrones.com>
2020-08-06 07:57:31 -06:00
Ryan1729
42f3d39a54
run clippy_dev fmt
...
This seemed to overdo it a bit, affecting multiple submodules, and changing a file I didn't touch, so I didn't commit those changes
2020-08-06 06:15:57 -06:00
Ryan1729
0d2a378547
run clippy_dev update_lints
2020-08-06 06:11:23 -06:00
Ryan1729
8997c558d8
change filter to assert, and update comments
2020-08-06 04:24:25 -06:00
Ryan1729
94340d6e17
add documentation to functions that call do_check
and add a test against lint ordering changing
2020-08-06 04:24:25 -06:00
Ryan1729
19f36bc2f3
add description to assert
2020-08-06 04:24:25 -06:00
Ryan1729
d38766ed96
address some review comments
2020-08-06 04:24:25 -06:00
Ryan1729
ccc4747f46
get the expected number of errors by acknowledging that other lints are covering the same ground
2020-08-06 04:24:25 -06:00
Ryan1729
de05212987
try putting the can_be_expressed_as_pointer_cast at the top and find that we still get an ICE
2020-08-06 04:24:24 -06:00
Ryan1729
34d3a0086c
accidentally cause an ICE by putting the TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTS handling after the match
...
The reason I did this in the first place was to try and figure out why I don't see my expected 7 error messages
2020-08-06 04:24:24 -06:00
Ryan1729
069f851671
initial compiling version of TRANSMUTES_EXPRESSIBLE_AS_PTR_CASTS
2020-08-06 04:24:24 -06: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
Christoph Walcher
0abc4833e5
Lint .min(x).max(y) with x < y
...
Fixes #5854
2020-08-06 02:56:07 +02:00
Eduardo Broto
50a86d4927
enable #[allow(clippy::unsafe_derive_deserialize)]
2020-08-06 00:45:30 +02: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
bors
2eab060ab7
Auto merge of #5859 - ebroto:5765_manual_async_fn_fp, r=yaahc
...
manual_async_fn: take input lifetimes into account
The anonymous future returned from an `async fn` captures all input
lifetimes. This was not being taken into account.
See https://github.com/rust-lang/rfcs/blob/master/text/2394-async_await.md#lifetime-capture-in-the-anonymous-future
changelog: Take input lifetimes into account in [`manual_async_fn`].
Fixes #5765
2020-08-05 17:52:28 +00:00
Takayuki Nakata
610d4e3c8b
rustfmt
2020-08-05 23:10:30 +09:00
Takayuki Nakata
e48685edef
Just check if it contains _
in for pat
2020-08-05 23:00:03 +09:00
Takayuki Nakata
228f668282
Use mutated_variables
2020-08-05 23:00:03 +09:00
Takayuki Nakata
b7ceb4d3d7
rustfmt
2020-08-05 23:00:03 +09:00
Takayuki Nakata
14a4e3bcc8
Fix a lint message
2020-08-05 22:59:12 +09:00
Takayuki Nakata
1543e117cc
cargo dev update_lints
2020-08-05 22:51:38 +09:00
Takayuki Nakata
2beb9090d1
Rename TypeckTables to TypeckResults
2020-08-05 22:51:38 +09:00
Takayuki Nakata
161f475100
Add test case for same_item_push
2020-08-05 22:51:38 +09:00
Takayuki Nakata
1e8ada3cab
Add lint same_item_push
2020-08-05 22:51:38 +09:00
bors
3d7e3fdffd
Auto merge of #5857 - tmiasko:try-err-poll, r=matthiaskrgr
...
try_err: Consider Try impl for Poll when generating suggestions
There are two different implementation of `Try` trait for `Poll` type:
`Poll<Result<T, E>>` and `Poll<Option<Result<T, E>>>`. Take them into
account when generating suggestions.
For example, for `Err(e)?` suggest either `return Poll::Ready(Err(e))` or
`return Poll::Ready(Some(Err(e)))` as appropriate.
Fixes #5855
changelog: try_err: Consider Try impl for Poll when generating suggestions
2020-08-05 08:43:37 +00:00
JarredAllen
542740c2ec
Run cargo dev fmt
2020-08-04 17:53:29 -07:00
bors
2ceb8c6c2d
Auto merge of #5865 - camsteffen:unnecessary-fold-known-probs, r=Manishearth
...
Remove obsolete known problems unnecessary_fold
The known problems looks to be obsolete since NLL is stable.
changelog: none
2020-08-04 23:09:35 +00:00
Philipp Krones
fb7ad956f6
Rollup merge of #5856 - phansch:remove-symbol-reexport, r=flip1995
...
Remove old Symbol reexport
I couldn't really tell what it was meant to improve. It seems more clear
without the renaming to `Name`?
changelog: none
2020-08-04 12:06:43 +02: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
Philipp Krones
888067c623
Rollup merge of #5848 - Ryan1729:add-derive_ord_xor_partial_ord-lint, r=matthiaskrgr
...
Add derive_ord_xor_partial_ord lint
Fix #1621
Some remarks:
This PR follows the example of the analogous derive_hash_xor_partial_eq lint where possible.
I initially tried using the `match_path` function to identify `Ord` implementation like the derive_hash_xor_partial_eq lint currently does, for `Hash` implementations but that didn't work.
Specifically, the structs at the top level were getting paths that matched `&["$crate", "cmp", "Ord"]` instead of `&["std", "cmp", "Ord"]`. While trying to figure out what to do instead I saw the comment at the top of [clippy_lints/src/utils/paths.rs](f5d429cd76/clippy_lints/src/utils/paths.rs (L5)
) that mentioned [this issue](https://github.com/rust-lang/rust-clippy/issues/5393 ) and suggested to use diagnostic items instead of hardcoded paths whenever possible. I looked for a way to identify `Ord` implementations with diagnostic items, but (possibly because this was the first time I had heard of diagnostic items,) I was unable to find one.
Eventually I tried using `get_trait_def_id` and comparing `DefId` values directly and that seems to work as expected. Maybe there's a better approach however?
changelog: new lint: derive_ord_xor_partial_ord
2020-08-04 12:06:40 +02:00
Philipp Krones
378ba2e03e
Rollup merge of #5846 - dima74:map_flatten.map_to_option, r=flip1995
...
Handle mapping to Option in `map_flatten` lint
Fixes #4496
The existing [`map_flatten`](https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten ) lint suggests changing `expr.map(...).flatten()` to `expr.flat_map(...)` when `expr` is `Iterator`. This PR changes suggestion to `filter_map` instead of `flat_map` when mapping to `Option`, because it is more natural
Also here are some questions:
* If expression has type which implements `Iterator` trait (`match_trait_method(cx, expr, &paths::ITERATOR) == true`), how can I get type of iterator elements? Currently I use return type of closure inside `map`, but probably it is not good way
* I would like to change suggestion range to cover only `.map(...).flatten()`, that is from:
```
let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().collect();
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try using `flat_map` instead: `vec![5_i8; 6].into_iter().flat_map
```
to
```
let _: Vec<_> = vec![5_i8; 6].into_iter().map(|x| 0..x).flatten().collect();
^^^^^^^^^^^^^^^^^^^^^^^^ help: try using `flat_map` instead: `.flat_map(|x| 0..x)`
```
Is it ok?
* Is `map_flatten` lint intentionally in `pedantic` category, or could it be moved to `complexity`?
changelog: Handle mapping to Option in [`map_flatten`](https://rust-lang.github.io/rust-clippy/master/index.html#map_flatten ) lint
2020-08-04 12:06:39 +02:00
Philipp Krones
ca2a25d966
Rollup merge of #5837 - JarredAllen:needless_collect, r=phansch
...
needless_collect: catch x: Vec<_> = iter.collect(); x.into_iter() ...
changelog: Expand the needless_collect lint as suggested in #5627 (WIP).
This PR is WIP because I can't figure out how to make the multi-part suggestion include its changes in the source code (the fixed is identical to the source, despite the lint making suggestions). Aside from that one issue, I think this should be good.
2020-08-04 12:06:38 +02:00
bors
1968aede0f
Auto merge of #5867 - flip1995:rustup, r=flip1995
...
Rustup
r? @ghost
changelog: none
2020-08-04 09:25:05 +00:00
Vadim Petrochenkov
52a9c157d0
rustc_ast: (Nested)MetaItem::check_name
-> has_name
...
For consistency with `Attribute::has_name` which doesn't mark the attribute as used either.
Replace all uses of `check_name` with `has_name` outside of rustc
2020-08-04 00:34:11 +03:00
Cameron Steffen
0ccdf2913a
Remove obsolete known problems unnecessary_fold
2020-08-03 16:23:20 -05:00
Tomasz Miąsko
e9677105bf
try_err: Consider Try impl for Poll when generating suggestions
...
There are two different implementation of Try trait for Poll type;
Poll<Result<T, E>> and Poll<Option<Result<T, E>>>. Take them into
account when generating suggestions.
For example, for Err(e)? suggest either return Poll::Ready(Err(e)) or
return Poll::Ready(Some(Err(e))) as appropriate.
2020-08-03 20:48:18 +02:00
JarredAllen
25abd7ae76
Create stable_sort_primitive lint
2020-08-03 11:17:43 -07:00
Christoph Walcher
e521c67e5f
early return on empty parameters/where clause
2020-08-03 12:32:23 +02:00
JarredAllen
5e10b039a3
Implement review suggestions
2020-08-02 21:46:18 -07:00
JarredAllen
bb2c14e92b
Fix a bug causing it to be too trigger-happy
2020-08-02 21:34:17 -07:00
JarredAllen
a849483294
Fix formatting and dogfood fallout
2020-08-02 21:34:17 -07:00
JarredAllen
3657c92ac9
Check for other things which can be used indirectly
2020-08-02 21:34:17 -07:00
JarredAllen
3ee61373fe
Write the lint and write tests
2020-08-02 21:34:17 -07:00
Eduardo Broto
e336fe80d2
manual_async_fn: take input lifetimes into account
...
The anonymous future returned from an `async fn` captures all input
lifetimes. This was not being taken into account.
See https://github.com/rust-lang/rfcs/blob/master/text/2394-async_await.md#lifetime-capture-in-the-anonymous-future
2020-08-03 00:36:28 +02:00
Philipp Hansch
bb6e857980
fmt
2020-08-02 14:22:54 +02:00
Philipp Hansch
cb00cdf0d7
Remove old Symbol reexport
...
I couldn't really tell what it was meant to improve. It seems more clear
without the renaming to `Name`?
2020-08-02 11:25:03 +02:00
Valentin Lazureanu
aa3d9ca0e9
Rename HAIR to THIR (Typed HIR).
2020-07-31 22:15:12 +00:00
Dmitry Murzin
d4ba561aaf
Review fixes
2020-07-31 00:28:21 +03:00
Dmitry Murzin
a427c99f3d
Handle mapping to Option in map_flatten
lint
2020-07-30 23:23:33 +03:00
Christoph Walcher
2b7fde6a4b
typo fix
2020-07-29 16:10:15 +02:00
bors
2e0f8b6cc6
Auto merge of #5843 - dima74:iter_skip_next.add-suggestion, r=phansch
...
Add suggestion for `iter_skip_next` lint
changelog: Add suggestion for [`iter_skip_next`](https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next ) lint
2020-07-29 06:10:55 +00:00
flip1995
04f4471761
Merge remote-tracking branch 'upstream/master' into rustup
2020-07-29 03:17:23 +02:00
Christoph Walcher
94c50bc8c9
Lint duplicate methods of trait bounds
...
Fixes #5777
2020-07-28 16:42:26 +02:00
Bastian Kauschke
133e1d6773
clippy
2020-07-27 21:17:28 +02:00
Bastian Kauschke
6ce37fab95
introduce PredicateAtom
2020-07-27 21:07:37 +02:00
Bastian Kauschke
88787083f4
this might be unqualified, but at least it's now quantified
2020-07-27 21:06:36 +02:00
Bastian Kauschke
dfa1af2059
clippy
2020-07-27 21:06:36 +02:00
Takayuki Nakata
3a9ccffed8
chmod
644 clippy_lints/src/utils/ast_utils.rs
2020-07-27 22:27:54 +09:00
Ryan1729
94b10a6e5a
run cargo dev update_lints
2020-07-27 00:31:09 -06:00
Ryan1729
12a6eee045
fill in lint description for DERIVE_ORD_XOR_PARTIAL_ORD
2020-07-27 00:22:39 -06:00
Ryan1729
ca03f2b650
s/pord/partial_ord/ to fix dogfood failure
2020-07-27 00:21:11 -06:00
Ryan1729
668b7474b4
run cargo dev fmt and fix overly long line
2020-07-26 23:30:00 -06:00
Ryan1729
431924ccf6
add description for derive_ord_xor_partial_ord
2020-07-26 23:15:36 -06:00
Ryan1729
7dc974815e
remove is_local check since getting the def_id directly makes it unnecessary
2020-07-26 23:06:36 -06:00
Ryan1729
a8d6eda930
use get_trait_def_id to check for Ord trait
2020-07-26 23:04:04 -06:00