Guillaume Gomez
4da5520205
Ensure that RETURN_SELF_NOT_MUST_USE is not emitted if the method already has a must_use attribute
2021-12-18 15:26:16 +01:00
Guillaume Gomez
8dfb3ec8a4
Add new lint to warn when #[must_use] attribute should be used on a method
2021-12-08 11:16:14 +01:00
bors
be1a73b894
Auto merge of #8061 - vallentin:fix-same-name-method-desc, r=flip1995
...
Fixed same_name_method description
Noticed some odd phrasing, while checking out the new release.
changelog: none
2021-12-03 00:37:52 +00:00
frobiac
5cc451bc6c
Escape backslash for singe_char_pattern.rs
2021-12-02 23:47:23 +01:00
bors
d5d830a50f
Auto merge of #7463 - ThibsG:find_any_7392, r=xFrednet
...
Fix `any()` not taking reference in `search_is_some` lint
`find` gives reference to the item, but `any` does not, so suggestion is broken in some specific cases.
Fixes : #7392
changelog: [`search_is_some`] Fix suggestion for `any()` not taking item by reference
2021-12-02 17:27:54 +00:00
vallentin
f26821c969
Fixed same_name_method description
2021-12-02 18:25:09 +01:00
flip1995
ec57cc1455
Bump Clippy Version -> 0.1.59
2021-12-02 09:32:47 +00:00
flip1995
abddd6c491
Merge remote-tracking branch 'upstream/master' into rustup
2021-12-02 09:32:09 +00:00
bors
908815ce98
Auto merge of #8001 - Jarcho:unprefixed_strlen, r=giraffate
...
Improve `strlen_on_c_string`
fixes : #7436
changelog: lint `strlen_on_c_string` when used without a fully-qualified path
changelog: suggest removing the surrounding unsafe block for `strlen_on_c_string` when possible
2021-11-29 01:03:48 +00:00
bors
4e84dd121f
Auto merge of #8006 - togami2864:generalize-copied, r=camsteffen
...
apply iter_cloned_collect to collect() using copied()
fix : #6703
changelog: apply `iter_cloned_collect` to `collect()` using`copied()`
2021-11-28 20:59:20 +00:00
Camille GILLOT
56533d9e87
Take a LocalDefId in expect_*item.
2021-11-28 21:09:45 +01:00
togami2864
f51bbc7db9
apply iter_cloned_collect to copied()
2021-11-28 23:59:31 +09:00
bors
3720735f9a
Auto merge of #7995 - Alexendoo:needless_late_init, r=giraffate
...
Add `needless_late_init` lint
examples:
```rust
let a;
a = 1;
// to
let a = 1;
```
```rust
let b;
match 3 {
0 => b = "zero",
1 => b = "one",
_ => b = "many",
}
// to
let b = match 3 {
0 => "zero",
1 => "one",
_ => "many",
};
```
```rust
let c;
if true {
c = 1;
} else {
c = -1;
}
// to
let c = if true {
1
} else {
-1
};
```
changelog: Add [`needless_late_init`]
2021-11-27 14:24:02 +00:00
Alex Macleod
d346ec94fe
Add async/const fn tests for needless-late-init
...
+nits
2021-11-26 14:27:53 +00:00
togami2864
cd8b72443d
fix small nit
2021-11-26 19:27:14 +09:00
togami2864
e6a6ed44b2
fix doc
2021-11-26 18:52:27 +09:00
togami2864
e8ef6ca5e3
fix stderr
2021-11-26 18:49:14 +09:00
togami2864
a745cc55f3
make non_ascii_literal to catch char
2021-11-26 18:42:41 +09:00
Dharma Saputra Wijaya
c0bad8bcab
Add more descriptive help info for needless_question_mark
2021-11-25 14:01:14 +08:00
Alex Macleod
3957244120
Add needless_late_init
lint
2021-11-23 15:08:49 +00:00
flip1995
5740230ec7
Merge remote-tracking branch 'upstream/master' into rustup
2021-11-23 11:22:34 +01:00
dswij
ec3d1c8ca3
Fix FP on if_then_some_else_none
when there is early return
2021-11-23 10:11:30 +08:00
bors
57a8804ef9
Auto merge of #8007 - birkenfeld:octal_escapes, r=xFrednet
...
Add new lint `octal_escapes`
This checks for sequences in strings that would be octal character
escapes in C, but are not supported in Rust. It suggests either
to use the `\x00` escape, or an equivalent hex escape if the octal
was intended.
Fixes #7981
---
*Please write a short comment explaining your change (or "none" for internal only changes)*
changelog: Add new lint [`octal_escapes`], which checks for literals like `"\033[0m"`.
2021-11-22 20:29:53 +00:00
Georg Brandl
1210bb40d3
octal_escapes: note on print!() format strings
2021-11-22 21:02:03 +01:00
Georg Brandl
0bc25d04c6
octal_escapes: emit only one lint for all cases found each literal
2021-11-22 21:00:19 +01:00
Georg Brandl
850e7f533e
octal_escapes
: updates from review, fix byte string prefix
2021-11-22 18:02:17 +01:00
bors
5fbfdfa319
Auto merge of #8009 - xFrednet:8004-suboptimal-flops-in-const, r=giraffate
...
Allow `suboptimal_flops` in const functions
This PR allows `clippy::suboptimal_flops` in constant functions. The check also effects the `clippy::imprecise_flops` lint logic. However, this doesn't have any effects as all functions checked for are not const and can therefore not be found in such functions.
---
changelog: [`suboptimal_flops`]: No longer triggers in constant functions
Closes : rust-lang/rust-clippy#8004
2021-11-22 00:01:49 +00:00
bors
de2208a351
Auto merge of #7997 - surechen:Fixes_7915, r=giraffate
...
Fixes shadow_same's false positive for #7915
Fix shadow_same's false positive for async function's params(Fixes #7915 ):
Example Code:
```rust
#![deny(clippy::shadow_same)]
pub async fn foo(_a: i32) {
}
```
Output:
```
error: `_a` is shadowed by itself in `_a
```
Hir:
```rust
pub async fn foo(_a: i32)
->
/*impl Trait*/ #[lang = "from_generator"](move |mut _task_context|
{
let _a = _a;
{ let _t = { }; _t }
})
```
Skip checking async function's params.
changelog: Fix shadow_same's false positive for async function's params
2021-11-21 23:48:24 +00:00
Cameron Steffen
8c1c763c2d
clippy: Fix pattern_type_mismatch for loop
2021-11-21 08:16:20 -06:00
Cameron Steffen
e58ffb88e6
Fix Clippy with changed for loop desugar
2021-11-21 08:16:09 -06:00
surechen
846c0bef07
Fixes #7915
...
Fix shadow_same's positive false for async function's params:
Example Code:
```rust
#![deny(clippy::shadow_same)]
pub async fn foo(_a: i32) {
}
```
Output:
```
error: `_a` is shadowed by itself in `_a
```
Hir:
```rust
pub async fn foo(_a: i32)
->
/*impl Trait*/ #[lang = "from_generator"](move |mut _task_context|
{
let _a = _a;
{ let _t = { }; _t }
})
```
Skip checking async function's params.
changelog: Fix shadow_same's positive false for async function's params
2021-11-21 14:28:44 +08:00
Georg Brandl
0c4055c283
Avoid inline hints with double backticks for doc-markdown
2021-11-20 18:13:24 +01:00
ThibsG
092fe209a6
Move deref closure builder to clippy_utils::sugg
module
2021-11-20 15:48:21 +01:00
xFrednet
1c8085d705
Allow suboptimal_flops
in const functions
2021-11-20 15:39:29 +01:00
Georg Brandl
982124acfa
Add new lint octal_escapes
...
This checks for sequences in strings that would be octal character
escapes in C, but are not supported in Rust. It suggests either
to use the `\x00` escape, or an equivalent hex escape if the octal
was intended.
2021-11-20 11:57:25 +01:00
ThibsG
5ebede0c14
Fix full projection identifier + move applicability to MaybeIncorrect
2021-11-20 09:40:11 +01:00
ThibsG
1176b8e5e9
Handle closures with type annotations on args
2021-11-20 09:40:11 +01:00
ThibsG
2ff702cbb5
Rephrase the fn checking for a double ref, not only one
2021-11-20 09:40:11 +01:00
ThibsG
abaaf744fd
Add some notes about MethodCall
cases
2021-11-20 09:40:11 +01:00
ThibsG
90a72f506c
Handle args taken by ref also for MethodCall
2021-11-20 09:40:11 +01:00
ThibsG
7a55407cc3
Fix suggestions when call functions involved taking by ref
2021-11-20 09:40:11 +01:00
ThibsG
6d1ccbf466
Correct suggestion when dereferencing enough, calling a function
2021-11-20 09:40:11 +01:00
ThibsG
ac45a83ad5
Handle multiple reference levels into binding type and add more tests
2021-11-20 09:40:11 +01:00
ThibsG
788c9ccc93
Applying refactoring for simplified code
2021-11-20 09:40:11 +01:00
ThibsG
91dd9c46de
Handle other projection kinds
2021-11-20 09:40:11 +01:00
ThibsG
97783a8cb9
Return a struct and add applicability
2021-11-20 09:40:11 +01:00
ThibsG
d0dd797709
Build end of suggestion only once at the end of the process
2021-11-20 09:40:11 +01:00
ThibsG
9ab4b673eb
Simplifying next_pos
init
2021-11-20 09:40:11 +01:00
ThibsG
e24aba2c1a
Use applicability for snippets
2021-11-20 09:40:11 +01:00
ThibsG
6dca4f261d
Add some doc for search_is_some
lint
2021-11-20 09:40:11 +01:00