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
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