Mikhail Babenko
2b7bc260de
add size parameter for lint
2020-01-25 18:06:52 +03:00
Yuki Okushi
83f6b516a0
Split up match_same_arms
ui test
2020-01-25 14:25:45 +09:00
bors
87597b5a42
Auto merge of #5087 - Areredify:issue-4905, r=phansch
...
improve `empty_enum` documentation
closes #4905
changelog: improve `empty_enum` help message and documentation.
2020-01-24 22:30:07 +00:00
bors
1ccd284ec6
Auto merge of #5086 - Areredify:issue-3746, r=phansch
...
don't fire `empty_loop` in `no_std` crates
closes #3746 .
changelog: move no_std detection to utils, don't fire empty_loop in no_std crates
2020-01-24 21:42:46 +00:00
Mikhail Babenko
634774b89b
don't fire empty_loop in no_std crates
2020-01-24 14:42:24 +03:00
Mikhail Babenko
199ae1714e
improve empty_enum documentation
2020-01-24 14:37:16 +03:00
Yuki Okushi
46b787d1b8
Split up needless_range_loop
ui test
2020-01-24 17:21:50 +09:00
Yuki Okushi
3999b30d9b
Update stderrs
2020-01-24 17:04:46 +09:00
bors
2c7cfa8321
Auto merge of #5027 - sinkuu:vectored_io, r=phansch
...
Lint vectored IO in unused_io_amount lint
`read_vectored` & `write_vectored` require handling returned value likewise non-vectored methods. https://github.com/rust-lang/rust/issues/68041
---
changelog: lint vectored IO in `unused_io_amount` lint
2020-01-24 06:44:09 +00:00
bors
3237b7a69f
Auto merge of #5082 - Areredify:issue-4980, r=flip1995
...
disable let_underscore_must_use in external macros
changelog: disable let_underscore_must_use in external macros
Closes #4980
2020-01-23 18:29:28 +00:00
Mikhail Babenko
fef3657100
disable let_underscore_must_use in external macros
2020-01-23 20:02:34 +03:00
Areredify
796958c7e2
add option_as_ref_deref
lint
2020-01-23 16:12:16 +03:00
Yuki Okushi
a7d58edf27
Ignore macros with !
operators in eq_op
2020-01-22 16:48:00 +09:00
bors
f78cc07509
Auto merge of #5068 - JohnTitor:split-up-transmute, r=phansch
...
Split up `transmute` ui test
Part of #2038
changelog: none
2020-01-21 06:22:05 +00:00
bors
dd06c06183
Auto merge of #5028 - krishna-veerareddy:issue-5026-mem-ordering-fences, r=phansch
...
Detect usage of invalid atomic ordering in memory fences
Detect usage of `core::sync::atomic::{fence, compiler_fence}` with `Ordering::Relaxed` and suggest valid alternatives.
changelog: Extend `invalid_atomic_ordering` to lint memory fences
Fixes #5026
2020-01-21 05:53:46 +00:00
bors
eca0d8e5d0
Auto merge of #5067 - JohnTitor:lint-skip-while-next, r=flip1995
...
Add `skip_while_next` lint
Fixes #4036
changelog: Add `skip_while_next` lint
2020-01-20 17:28:38 +00:00
bors
32949da78e
Auto merge of #5070 - JohnTitor:suspicious-map-doc, r=flip1995
...
Improve `suspicious_map`documentation
Fixes #4793
changelog: none
2020-01-20 12:12:03 +00:00
Yuki Okushi
bec5b69e45
Apply review comment
2020-01-20 21:07:31 +09:00
Yuki Okushi
f8034e0bc6
Improve suspicious_map
documentation
2020-01-20 15:05:40 +09:00
Yuki Okushi
fdda3c3f25
Tweak wording in assertions_on_constants
2020-01-20 11:52:58 +09:00
Yuki Okushi
67d0f443b3
Split up transmute
ui test
2020-01-20 11:16:50 +09:00
Yuki Okushi
95c369fa91
Add skip_while_next
lint
2020-01-20 10:56:02 +09:00
bors
f7b3e4f29c
Auto merge of #5056 - rust-lang:dissasociate-mut-key, r=flip1995
...
Avoid mut_key on types of unknown layout
This fixes #5020 by requiring a known layout for the key type before linting. Edit: This fixes #5043 , too.
changelog: none
2020-01-19 14:41:28 +00:00
Andre Bogus
59fd637ba1
Avoid mut_key on types of unknown layout
2020-01-19 14:49:18 +01:00
bors
fd0428f622
Auto merge of #5032 - JohnTitor:add-sugg-some-result, r=flip1995
...
Add suggestions for `if_let_some_result`
Fixes #4991
This approach may be fragile though...
changelog: Add suggestions for `if_let_some_result`
2020-01-19 12:27:35 +00:00
Yuki Okushi
c9f8d03f42
Treat more strange pattern
2020-01-19 21:14:47 +09:00
Yuki Okushi
dfab83fe11
Split up if_same_then_else
ui test
2020-01-19 15:04:41 +09:00
Yuki Okushi
7e76a19664
Apply review comments
2020-01-19 10:14:03 +09:00
Yuki Okushi
aab64a21cc
Reduce span range
2020-01-19 10:06:08 +09:00
Yuki Okushi
ae872fe1c7
Rename ok_if_let
to if_let_some_result
2020-01-19 10:06:08 +09:00
Yuki Okushi
9e55424bdc
Apply review comments
2020-01-19 10:06:08 +09:00
Yuki Okushi
9035264a8f
Add suggestion in if_let_some_result
2020-01-19 10:06:08 +09:00
bors
0a7003ecf0
Auto merge of #5065 - matthiaskrgr:rustup_28, r=matthiaskrgr
...
rustup https://github.com/rust-lang/rust/pull/67712
slice_patterns have been stabilized.
changelog: none
2020-01-18 22:44:46 +00:00
Matthias Krüger
b2c4f09d77
rustup https://github.com/rust-lang/rust/pull/67712
...
slice_patterns have been stabilized.
2020-01-18 23:43:28 +01:00
bors
0964b8d192
Auto merge of #5046 - JohnTitor:order-nonminimal-bool, r=flip1995
...
Keep the ordering in `nonminimal_bool` lint
I believe it shouldn't cause any regression but feel free to let me know if you have a doubtful example.
Also, splits up `booleans` ui test.
Fixes #5045
changelog: none
2020-01-18 19:51:46 +00:00
Yuki Okushi
ff0a22d99f
Allow unused_self
lint at the function level
2020-01-18 21:05:42 +09:00
bors
8b72b7251c
Auto merge of #4994 - bradsherman:new_lint_gen, r=flip1995
...
Autogenerate new lints
Add option in clippy_dev to automatically generate boilerplate code for adding new lints
example:
`./util/dev new_lint --name=iter_nth_zero --type=late`
Fixes #4942
changelog: none
2020-01-16 16:24:41 +00:00
flip1995
3c68d892ff
Update custom_ice_message.stderr
2020-01-16 16:01:36 +01:00
Brad Sherman
32337a9b58
Add lint for default lint description
...
- Lint for any new lints that have the default lint description
from the automation
2020-01-15 21:23:08 -06:00
bors
be09bb47db
Auto merge of #5034 - ThibsG:MatchWildErrArmImprove5024, r=flip1995
...
Match wild err arm improvements
This lint should trigger on other identifiers which have `_` prefix (such as `_e`) and only if they are unused in the panic block.
_Note_: the `is_unused` function is greatly inspired from `pat_is_wild` function in [loops lints](43ac9416d9/clippy_lints/src/loops.rs (L1689)
).
I've been considering doing some refactoring, maybe in utils. Maybe this PR or a new one. What do you think ?
fixes #5024
changelog: none
2020-01-15 21:17:21 +00:00
Andre Bogus
2797b64f7e
Omit doc safety/errors header checking for main
2020-01-14 18:20:56 +01:00
Yuki Okushi
3885033e5f
Split up booleans
ui test
2020-01-14 08:32:33 +09:00
bors
c24a42289b
Auto merge of #4543 - xiongmao86:issue4503, r=flip1995
...
Fix issue4503
Fixes #4503 .
changelog: Add a lint checking user are using FileType.is_file() method and suggest using !FileType.is_dir().
- [x] Followed [lint naming conventions][lint_naming]
- [x] Added passing UI tests (including committed `.stderr` file)
- [x] `cargo test` passes locally
- [x] Executed `./util/dev update_lints`
- [x] Added lint documentation
- [x] Run `./util/dev fmt`
2020-01-13 22:09:39 +00:00
Yuki Okushi
73e525019d
Fix the ordering on nonminimal_bool
2020-01-14 07:08:45 +09:00
bors
05cb0df748
Auto merge of #5033 - JohnTitor:split-use-self, r=flip1995
...
Split up `use_self` ui test
Part of #2038
changelog: none
2020-01-13 20:21:04 +00:00
ThibsG
d3c76b5b2a
Change note message
2020-01-13 16:25:35 +01:00
ThibsG
e5c9073f9c
Better binding name on Err for note
2020-01-13 16:25:35 +01:00
ThibsG
f79c47f28d
Match underscore-prefixed variable also
2020-01-13 16:25:35 +01:00
Yuki Okushi
ce1c6b285d
Rustup to rust-lang/rust#68045
2020-01-13 21:55:57 +09:00
xiongmao86
77c48ca341
Fix grammar error.
2020-01-12 19:54:17 +08:00
xiongmao86
8d3cc6b8a9
Change lint message.
2020-01-12 19:54:17 +08:00
xiongmao86
8d333a3cbb
Extend spans to include !.
2020-01-12 19:54:17 +08:00
xiongmao86
a1f81355a7
format codebase.
2020-01-12 19:54:17 +08:00
xiongmao86
3c59eaf91c
Add lint logic.
2020-01-12 19:54:17 +08:00
xiongmao86
3a788452e2
Add test.
2020-01-12 19:54:17 +08:00
Yuki Okushi
291f2cbeb8
Split up use_self
ui test
2020-01-12 06:08:58 +09:00
Yuki Okushi
11fb749a96
Comment out half-open patterns' tests
2020-01-12 03:05:47 +09:00
Yuki Okushi
39947992b5
Rustup to rust-lang/rust#67806
2020-01-11 21:50:00 +09:00
Yuki Okushi
10cf141ebb
Apply review comments
2020-01-11 19:39:43 +09:00
Yuki Okushi
77e5a1b227
Split up missing-doc
ui test
2020-01-10 04:35:37 +09:00
Krishna Sai Veera Reddy
5e058f38f4
Add memory fence tests for invalid_atomic_ordering
2020-01-09 09:51:42 -08:00
Shotaro Yamada
b3971fdd5d
Lint vectored IO in unused_io_amount lint
2020-01-09 23:46:55 +09:00
bors
ac795a6f3a
Auto merge of #4960 - ThibsG:patterns_with_wildcard_#4640, r=flip1995
...
New lint: pats_with_wild_match_arm
Wildcard use with other pattern in same match arm.
The wildcard covers other(s) pattern(s) as it will match anyway.
changelog: add new lint when multiple patterns (including wildcard) are used in a match arm.
Fixes #4640 .
2020-01-09 13:51:00 +00:00
bors
0da0ae3aa6
Auto merge of #5022 - flip1995:useless_attr, r=phansch
...
Fix useless_attribute suggestion
Fixes #5021
changelog: Fix [`useless_attribute`] suggestion, which tripped rustfix
2020-01-08 20:28:19 +00:00
flip1995
6eba66532c
Add regression test for useless_attribute lint
2020-01-08 17:47:01 +01:00
bors
52b9e704c6
Auto merge of #5017 - sinkuu:mir_no_opt_fallout, r=flip1995
...
Fix redundant_clone lint not working with PathBuf and OsString
https://github.com/rust-lang/rust-clippy/pull/4825 diabled MIR optimization in clippy, including `rustc_mir::transform::InstCombine` which reduces `&(*x)` to `x`. This PR tries to unwrap `&*` when looking into `mir::Rvalue`s.
Fixes #5014 .
---
changelog: fixed `redundant_clone` lint not working with `PathBuf` and `OsString`
2020-01-08 12:09:45 +00:00
Yuki Okushi
787106c380
Normalize lint messages in cast_precision_loss
2020-01-08 16:36:02 +09:00
Shotaro Yamada
99eec3f54f
Fix redundant_clone
2020-01-08 14:18:00 +09:00
ThibsG
0fa0df9efb
Span help without suggestion
2020-01-07 19:10:59 +01:00
ThibsG
8ae8b08e32
Change lint name to WILDCARD_IN_OR_PATTERNS
2020-01-07 18:48:16 +01:00
ThibsG
58deaad42d
Handle case for non-exhaustive enums
2020-01-07 18:48:16 +01:00
ThibsG
d60c6f9398
Move to complexity and adapt test
...
- test wildcard_enum_match_arm has been impacted by this new lint
2020-01-07 18:48:16 +01:00
ThibsG
96c4198832
New lint: pats_with_wild_match_arm
...
- Wildcard use with other pattern in same match arm
2020-01-07 18:48:16 +01:00
Yuki Okushi
abc49c3139
Bless 32bit test
2020-01-07 19:56:21 +09:00
Yuki Okushi
f7a93f029c
Apply suggestion from code review
2020-01-07 18:38:12 +09:00
Yuki Okushi
07e33633a3
Update stderrs
2020-01-07 18:38:12 +09:00
bors
fdccfe7bca
Auto merge of #5011 - JohnTitor:split-collapsible-if, r=flip1995
...
Split up `collapsible_if` ui test
Part of #2038
changelog: none
2020-01-07 08:45:14 +00:00
Yuki Okushi
175c78bc17
Split up collapsible_if
ui test
2020-01-07 15:06:23 +09:00
Krishna Sai Veera Reddy
18060eb81e
Split test cases into separate files
2020-01-06 16:39:31 -08:00
Krishna Sai Veera Reddy
9e6a6069a7
Add lint to detect usage of invalid atomic ordering
...
Detect usage of invalid atomic ordering modes such as
`Ordering::{Release, AcqRel}` in atomic loads and
`Ordering::{Acquire, AcqRel}` in atomic stores.
2020-01-06 16:39:31 -08:00
Yuki Okushi
2213989a01
Do not trigger let_and_return
lint on macros
2020-01-07 05:26:20 +09:00
Yuki Okushi
65d15340cd
Fix test again
2020-01-07 02:04:10 +09:00
Yuki Okushi
ce36335cf0
Pick up lost property
2020-01-07 01:54:51 +09:00
Yuki Okushi
2f2eaf8b7e
Rustup to rust-lang/rust#67886
2020-01-07 01:46:33 +09:00
Andre Bogus
539cd25262
External macro check for missing_*_doc
2020-01-04 20:19:14 +01:00
Brad Sherman
ab5ff0352e
Add lint for iter.nth(0)
...
- Encourage iter.next() rather than iter.nth(0), which is less readable
2020-01-04 11:20:11 -06:00
bors
fa9b85d4df
Auto merge of #4881 - krishna-veerareddy:issue-4871-use-mem-take, r=flip1995
...
Use `mem::take` instead of `mem::replace` when applicable
`std::mem::take` can be used to replace a value of type `T` with `T::default()` instead of `std::mem::replace`.
Fixes issue #4871
changelog: Added lint for [`mem_replace_with_default`]
2020-01-04 08:09:43 +00:00
Andre Bogus
47972cdf12
No #[no_mangle] must_use_candidate functions
2020-01-03 17:21:36 +01:00
bors
2e8c3c3e9e
Auto merge of #4975 - JohnTitor:fix-4968, r=phansch
...
Fix ICE on `unsound_collection_transmute`
Fixes #4968
Check if `Ty`s are normalizable. It might show hidden false negative, I'm not sure.
Also, the regression tests are placed on two dirs, so move them to `/crashes`. I think it will be easier to find the right place.
changelog: Fix ICE on `unsound_collection_transmute`
2020-01-03 08:48:05 +00:00
Yuki Okushi
c6aeda7bd5
Move use_self_macro
into crashes/auxiliary
2020-01-03 17:03:07 +09:00
bors
304edf39c3
Auto merge of #4978 - mikerite:fix-4958, r=phansch
...
Fix bad `explicit_into_iter_loop` suggestion
Fixes #4958
changelog: Fix bad `explicit_into_iter_loop` suggestion
2020-01-03 05:59:19 +00:00
Krishna Veera Reddy
8b36196cb6
Add if let
test case
2020-01-01 23:22:57 -08:00
Yuki Okushi
20318e00ef
Add attribute
2020-01-02 09:32:55 +09:00
Michael Wright
ea829bd8c6
Fix bad explicit_into_iter_loop
suggestion
...
Fixes #4958
2020-01-01 07:09:09 +02:00
Krishna Veera Reddy
84a60c3186
Prevent replace_consts
lint within match patterns
...
Currently `replace_consts` lint applies within match patterns but
the suggestion is incorrect as function calls are disallowed in
them. To fix this we prevent the lint from firing within patterns.
2019-12-31 10:33:15 -08:00
Krishna Veera Reddy
a8413a32b3
Remove unnecessary import
2019-12-31 09:22:35 -08:00
Krishna Veera Reddy
c09e79e226
Lint within internal macros without a suggestion
2019-12-31 09:22:35 -08:00
Krishna Veera Reddy
26812f733d
Prevent mem_replace_with_default
lint within macros
...
Also added test cases for internal and external macros.
2019-12-31 09:22:34 -08:00
Krishna Veera Reddy
2a75241c1a
Add test cases for replace with Default::default()
2019-12-31 09:22:34 -08:00
Krishna Veera Reddy
8db319f957
Use mem::take
instead of mem::replace
when applicable
...
`std::mem::take` can be used to replace a value of type `T`
with `T::default()` instead of `std::mem::replace`.
2019-12-31 09:22:34 -08:00