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
ThibsG
b38f173aa3
Build suggestion within visitor + add more tests
2021-11-20 09:40:10 +01:00
ThibsG
5ed93af9c4
Use ExprUseVisitor
and multipart suggestion to avoid iffy String
replacement
2021-11-20 09:40:10 +01:00
ThibsG
f4c75cde5e
Fix any()
not taking reference in search_is_some
lint
2021-11-20 09:40:10 +01:00
bors
6ac42fe6fa
Auto merge of #7971 - togami2864:fix/option-map-or-none, r=llogiq
...
fix suggestion in option_map_or_none
fix : #7960
changelog: change suggestion in the lint rule `option_map_or_none`
2021-11-17 16:01:55 +00:00
togami2864
006c442657
check whether stmts is empty or not in block
2021-11-18 00:36:11 +09:00
bors
46687f1313
Auto merge of #7896 - surechen:fix_manual_split_once, r=camsteffen
...
Fix for #7889 and add new lint needless_splitn
fixes : #7889
1. Fix the problem of manual_split_once changing the original behavior.
2. Add a new lint needless_splitn.
changelog: Fix the problem of manual_split_once changing the original behavior and add a new lint needless_splitn.
2021-11-17 01:46:58 +00:00
surechen
c051656c83
fixes : #7889
...
1. Fix the problem of manual_split_once changing the original behavior.
2. Add a new lint needless_splitn.
changelog: Fix the problem of manual_split_once changing the original behavior and add a new lint needless_splitn.
2021-11-17 08:38:45 +08:00
togami2864
7605bac2cb
resolve CI
2021-11-16 23:07:19 +09:00
Jason Newcomb
2938ffd0d9
Improve heuristics for determining whether eager of lazy evaluation is preferred
2021-11-15 20:54:13 -05:00
togami2864
0a30fdcd3c
move the let statement out of the macro
2021-11-16 03:02:08 +09:00
togami2864
300282c09a
fix fmt
2021-11-16 02:53:35 +09:00
togami2864
cd5781648a
add comment
2021-11-16 02:30:54 +09:00
togami2864
02e0726149
fix a bug that the closure arguments are not displayed
2021-11-16 02:29:02 +09:00
togami2864
bbffe825ed
add reduce_unit_expression
2021-11-16 02:06:31 +09:00
togami2864
2ed4a8a3e6
fix suggestion in option_map_or_none
2021-11-13 22:38:28 +09:00
xFrednet
d647696c1f
Added clippy::version
attribute to all normal lints
...
So, some context for this, well, more a story. I'm not used to scripting, I've never really scripted anything, even if it's a valuable skill. I just never really needed it. Now, `@flip1995` correctly suggested using a script for this in `rust-clippy#7813`...
And I decided to write a script using nushell because why not? This was a mistake... I spend way more time on this than I would like to admit. It has definitely been more than 4 hours. It shouldn't take that long, but me being new to scripting and nushell just wasn't a good mixture... Anyway, here is the script that creates another script which adds the versions. Fun...
Just execute this on the `gh-pages` branch and the resulting `replacer.sh` in `clippy_lints` and it should all work.
```nu
mv v0.0.212 rust-1.00.0;
mv beta rust-1.57.0;
mv master rust-1.58.0;
let paths = (open ./rust-1.58.0/lints.json | select id id_span | flatten | select id path);
let versions = (
ls | where name =~ "rust-" | select name | format {name}/lints.json |
each { open $it | select id | insert version $it | str substring "5,11" version} |
group-by id | rotate counter-clockwise id version |
update version {get version | first 1} | flatten | select id version);
$paths | each { |row|
let version = ($versions | where id == ($row.id) | format {version})
let idu = ($row.id | str upcase)
$"sed -i '0,/($idu),/{s/pub ($idu),/#[clippy::version = "($version)"]\n pub ($idu),/}' ($row.path)"
} | str collect ";" | str find-replace --all '1.00.0' 'pre 1.29.0' | save "replacer.sh";
```
And this still has some problems, but at this point I just want to be done -.-
2021-11-10 19:48:31 +01:00
Cameron Steffen
14d54f0f6e
Use Span::from_expansion instead of in_macro
2021-11-05 08:50:17 -05:00
flip1995
e674d0a599
Merge commit 'e18101137866b79045fee0ef996e696e68c920b4' into clippyup
2021-11-04 12:52:36 +00:00
Cameron Steffen
20fb7f2916
Update rustfmt
2021-10-24 12:52:38 -05:00
flip1995
7631fc5d82
Merge commit '91496c2ac6abf6454c413bb23e8becf6b6dc20ea' into clippyup
2021-10-21 13:11:36 +02:00
bors
3d9c4a655b
Auto merge of #7682 - Qwaz:uninit_vec, r=xFrednet
...
Implement uninit_vec lint
changelog: add the new lint [`uninit_vec`]
Fix #7681
2021-10-12 21:04:13 +00:00
Lukas Wirth
5adf17cb43
Bring manual_split_once
docs in line with other lint docs
2021-10-12 09:42:42 +02:00
Yechan Bae
759200b699
Handle PR feedbacks first round
2021-10-09 05:38:19 -04:00
Yechan Bae
452181c69d
Implement uninit_vec lint
2021-10-09 05:38:19 -04:00
flip1995
5cf4984872
Merge commit 'b7f3f7f6082679da2da9a0b3faf1b5adef3afd3b' into clippyup
2021-10-07 11:21:30 +02:00
flip1995
1f955158dd
Merge remote-tracking branch 'upstream/master' into rustup
2021-10-07 11:11:23 +02:00
Matthias Kaak
320ecb1f0b
Mentioned inspect
in lint description of suspicious_map
2021-10-05 19:40:15 +00:00
Matthias Kaak
7c82e78f30
improved help message for suspicious_map
2021-10-05 19:09:08 +00:00
hkalbasi
388a3d0983
Implement equatable if let lint
2021-10-04 22:16:42 +03:30
Cameron Steffen
e165c12932
Make diangostic item names consistent
2021-10-02 19:38:19 -05:00
flip1995
23d5457e6d
Merge commit 'cb7915b00c235e9b5861564f3be78dba330980ee' into clippyup
2021-09-28 18:03:12 +01:00
flip1995
707494eca9
Merge remote-tracking branch 'upstream/master' into rustup
2021-09-28 10:52:31 +01:00
Manish Goregaokar
067bfe3618
Rollup merge of #89216 - r00ster91:bigo, r=dtolnay
...
Consistent big O notation
This makes the big O time complexity notation in places with markdown support more consistent.
Inspired by #89210
2021-09-25 18:22:20 -07:00
r00ster91
7355376d5b
consistent big O notation
2021-09-24 12:44:28 +02:00
lengyijun
b68325ecf6
add #4546 test
2021-09-22 16:04:04 +08:00
jackh726
2a9a9ca829
Fix clippy
2021-09-16 00:12:56 -04:00
Camille GILLOT
ce1da849b0
Rebase fallout.
2021-09-11 17:52:39 +02:00
Jason Newcomb
4c1b6a28e4
Fix result order for manual_split_once
when rsplitn
is used
2021-09-10 13:05:09 -04:00
flip1995
091ed44b50
Merge commit '27afd6ade4bb1123a8bf82001629b69d23d62aff' into clippyup
2021-09-08 16:31:47 +02:00
flip1995
4962608ca6
Merge remote-tracking branch 'upstream/master' into rustup
2021-09-08 10:51:27 +02:00
xFrednet
62b46125cb
Avoid slice indexing in Clippy (down with the ICEs)
2021-09-05 14:50:13 +02:00
flip1995
61bb96738c
Merge remote-tracking branch 'upstream/master' into rustup2
2021-09-02 12:38:17 +01:00
Eduard-Mihai Burtescu
8f7c249980
rustc_target: move LayoutOf
to ty::layout
.
2021-09-02 01:17:14 +03:00
lcnr
b1786f62ed
add tcx
to fn walk
2021-08-26 11:00:30 +02:00
Jason Newcomb
aab3267412
Update docs for manual_split_once
2021-08-16 09:35:03 -04:00
Jason Newcomb
a7f376fbd3
Add lint manual_split_once
2021-08-16 09:34:58 -04:00
Caio
b97d4c062b
Introduce hir::ExprKind::Let - Take 2
2021-08-15 16:18:26 -03:00
dswij
91b598a8e4
Fix false positive on filter_next
2021-08-13 14:56:37 +08:00
flip1995
1ad5464200
Merge commit '7bfc26ec8e7a454786668e7e52ffe527fc649735' into clippyup
2021-08-12 11:16:25 +02:00
flip1995
d02016d686
Merge remote-tracking branch 'upstream/master' into rustup
2021-08-12 10:58:44 +02:00
bors
e62a6cad1e
Auto merge of #7516 - lf-:unwrap-or-default, r=xFrednet
...
Add `unwrap_or_else_default` lint
---
*Please write a short comment explaining your change (or "none" for internal only changes)*
changelog: Add a new [`unwrap_or_else_default`] style lint. This will catch `unwrap_or_else(Default::default)` on Result and Option and suggest `unwrap_or_default()` instead.
2021-08-12 08:02:44 +00:00
Jade
c78cc7ac1f
Add is_trait_item, refactor or_fun_call and unwrap_or_else_default
2021-08-10 14:40:26 -07:00
Jade
11ef04728c
Add unwrap_or_else_default lint
...
This will catch `unwrap_or_else(Default::default)` on Result and Option
and suggest `unwrap_or_default()` instead.
2021-08-10 14:40:26 -07:00
bors
14d2aa1582
Auto merge of #7542 - LeSeulArtichaut:cleanups, r=flip1995
...
Cleanup usage of `span_to_snippet` and `LintContext::sess`
- avoid using `SourceMap::span_to_snippet` directly and use `clippy_utils::source::snippet_opt` instead
- don't use `LintContext::sess()` on `EarlyContext`s which have a `sess` field directly available, saving the import of `LintContext`
changelog: none
2021-08-09 13:48:47 +00:00
LeSeulArtichaut
64ff2b05b9
Replace span_to_snippet
calls with snippet_opt
from clippy_utils
2021-08-07 01:59:05 +02:00
valentine-mario
8a4ffb881d
fixed bug that had to deal with mut and non mut suggestion
2021-08-05 16:15:44 +01:00
Dharma Saputra Wijaya
69d439065e
Handle Result
on map_flatten
lint
...
Adds a check on `.map(..).flatten()` on `Result` type that follows the
behaviour on `Option` type.
2021-08-01 17:47:54 +08:00
Vadim Petrochenkov
a1f790c8a9
Fix clippy
2021-07-31 19:31:30 +03:00
flip1995
2b20f49841
Merge commit '0cce3f643bfcbb92d5a1bb71858c9cbaff749d6b' into clippyup
2021-07-29 12:16:06 +02:00
flip1995
54e539121d
Rename two lints to comply with our lint naming convention
...
self_named_constructor -> self_named_constructors
append_instead_of_extend -> extend_with_drain
2021-07-29 12:10:18 +02:00
xFrednet
12c61612f7
Update lint documentation to use markdown headlines
2021-07-28 14:31:59 +02:00
flip1995
1d084b13a5
Merge commit '54a20a02ecd0e1352a871aa0990bcc8b8b03173e' into clippyup
2021-07-15 10:44:10 +02:00
xFrednet
6030428fd2
Use diagnostic items for Into
, IntoIterator
, LinkedList
, ptr::null
, prt::null_mut
2021-07-14 22:50:59 +02:00
xFrednet
2ac21889bc
Use diagnostic items for BinaryHeap
, BTreeMap
, BTreeSet
, HashMap
, HashSet
, Borrow
, Default
2021-07-14 22:02:59 +02:00
Cameron Steffen
e6ab222b81
Refactor format macro parsing
2021-07-13 08:57:16 -05:00
flip1995
ebe52869a3
Merge commit '61eb38aeda6cb54b93b872bf503d70084c4d621c' into clippyup
2021-07-01 18:17:38 +02:00
flip1995
a82a744155
Merge remote-tracking branch 'upstream/master' into rustup
2021-07-01 17:41:24 +02:00
Cameron Steffen
f02632cee6
Move some lints to suspicious
2021-06-25 08:53:29 -05:00
Joe Ranweiler
10122e4a48
Remove shadowed receiver in check invocation
2021-06-22 18:45:12 -07:00
Dirkjan Ochtman
a40fd6da7e
Move from-iter-instead-of-collect to pedantic
...
Since FromIterator will become part of the prelude, this lint being
warn by default is incongruous with the libs team position on the topic.
2021-06-18 22:23:25 +02:00
valentine-mario
44608b1857
added lint to check for full range of vector and suggest append
2021-06-10 09:12:06 +01:00
xFrednet
5336f88403
Move map_identity
into the methods
module
2021-06-08 19:56:59 +02:00
xFrednet
9e54ce865c
Reuse is_expr_identity_function
for filter_map_identity
2021-06-07 23:31:17 +02:00
xFrednet
bb3b58cfcc
Reuse is_expr_identity_function
for flat_map_identity
2021-06-07 23:20:11 +02:00
flip1995
6c27482115
Merge commit '3ae8faff4d46ad92f194c2a4b941c3152a701b31' into clippyup
2021-06-03 08:41:37 +02:00
Jason Newcomb
cfddf0927b
Fix type checks for manual_str_repeat
2021-05-31 09:37:13 -04:00
Jason Newcomb
97311f0906
Add lint manual_str_repeat
2021-05-30 23:26:48 -04:00
Jason Newcomb
5fa08eaf53
Evaluate constant expressions in suspicious_splitn
2021-05-30 13:25:24 -04:00
Jason Newcomb
898b6a0e07
Add lint suspicious_splitn
2021-05-30 09:49:55 -04:00
Cameron Steffen
d39a11cbe1
Remove clippy_utils::consts re-export
2021-05-27 08:52:10 -05:00
Cameron Steffen
d7f47f280e
Use break api config for wrong_pub_self_convention
2021-05-26 16:53:13 -05:00
mbartlett21
cadad20da1
Add semicolons up to needless_for_each.rs
2021-05-25 00:54:50 +00:00
Yotam Ofek
ae0d4da764
Fix invalid syntax in from_iter_instead_of_collect
suggestion with "as Trait"
2021-05-22 21:47:11 +03:00
flip1995
97705b7ea6
Merge commit '9e3cd88718cd1912a515d26dbd9c4019fd5a9577' into clippyup
2021-05-20 13:07:57 +02:00
ThibsG
cd241b33cb
Trigger wrong_self_convention
only if it has implicit self
2021-05-13 10:24:29 +02:00
Mateusz Gacek
ab3094b3db
wrong_self_convention: For to_*
variant don't lint in trait impl taking self
when non-Copy
type
...
It relaxes rules for `to_*` variant, so it doesn't lint in trait definitions
and implementations anymore.
Although, non-`Copy` type implementing trait's `to_*` method taking
`self` feels not good (consumes ownership, so should be rather named `into_`), it would be better if this case was a pedantic lint (allow-by-default) instead.
2021-05-06 10:49:31 -07:00
flip1995
d605882023
Merge commit 'b71f3405606d49b9735606b479c3415a0ca9810f' into clippyup
2021-05-06 12:20:44 +02:00
Cameron Steffen
d66d37303c
Fix unnecessary_filter_map false positive
2021-05-05 16:44:00 -05:00
Marcel Hellwig
19e7448c7f
move PATTERN_METHODS table directly into file
...
also removed rustfmt::skip
2021-05-03 16:25:05 +02:00