Max Baumann
2953cba116
unit_like_struct_brackets -> empty_structs_with_brackets
2022-03-30 20:13:16 +02:00
Max Baumann
37d5a6264c
changes after review
2022-03-30 20:12:58 +02:00
Max Baumann
33383a418d
use span_suggestion_hidden
2022-03-30 20:12:58 +02:00
Max Baumann
7192297c28
additional checks for conditionally compiled code
2022-03-30 20:12:58 +02:00
Max Baumann
1a5ff38f92
fix godfood test
2022-03-30 20:12:58 +02:00
Max Baumann
9be3945be7
fix existing clippy tests
2022-03-30 20:12:58 +02:00
Max Baumann
528ada958b
add unit_like_struct_brackets
2022-03-30 20:12:58 +02:00
SabrinaJewson
d6f05c6a89
Don't warn int-to-char transmutes in const contexts
2022-03-30 18:47:50 +01:00
Alex Macleod
10a6d872d4
Handle relative paths in module_files lints
2022-03-30 18:44:04 +01:00
bors
c0a5693abc
Auto merge of #8602 - giraffate:fix_ice_for_iter_overeager_cloned, r=llogiq
...
Fix ICE for `iter_overeager_cloned`
Fix https://github.com/rust-lang/rust-clippy/issues/8527
changelog: Fix ICE for [`iter_overeager_cloned`]
2022-03-30 17:12:24 +00:00
bors
fe7254ff6f
Auto merge of #8576 - smoelius:crate_in_macro_def, r=llogiq
...
Add `crate_in_macro_def` lint
This PR adds a lint to check for `crate` as opposed to `$crate` used in a macro definition.
I think this can close #4798 . That issue focused on the case where the macro author "imports something into said macro."
But I think use of `crate` is likely to be a bug whether it appears in a `use` statement or not. There could be some use case I am failing to see, though. (cc: `@nilscript` `@flip1995)`
changelog: `crate_in_macro_def`
2022-03-30 16:57:24 +00:00
Samuel E. Moelius III
d6eb82c0a8
Move crate_in_macro_def
to suspicious
2022-03-30 12:40:53 -04:00
Samuel Moelius
75dc406e84
Update clippy_lints/src/crate_in_macro_def.rs
...
Co-authored-by: llogiq <bogusandre@gmail.com>
2022-03-30 12:40:44 -04:00
Samuel Moelius
abc221e7f6
Update clippy_lints/src/crate_in_macro_def.rs
...
Co-authored-by: llogiq <bogusandre@gmail.com>
2022-03-30 12:40:25 -04:00
Samuel Moelius
9b304533ab
Update clippy_lints/src/crate_in_macro_def.rs
...
Co-authored-by: llogiq <bogusandre@gmail.com>
2022-03-30 12:40:16 -04:00
bors
0031f69999
Auto merge of #8592 - c410-f3r:stuff, r=flip1995
...
Do not fire `panic` in a constant environment
Let rustc handle panics in constant environments.
Since https://github.com/rust-lang/rust-clippy/issues/8348 I thought that such modification would require a lot of work but thanks to https://github.com/rust-lang/rust-clippy/pull/8588 I now know that it is not the case.
changelog: [`panic`]: No longer lint in constant context. `rustc` already handles this.
2022-03-30 16:04:14 +00:00
bors
d9819c3b8d
Auto merge of #8584 - Alexendoo:map-unit-fn-context, r=Manishearth
...
Provide suggestion context in map_unit_fn
Fixes #8569
changelog: Fix incorrect suggestion for `option_map_unit_fn` , `result_map_unit_fn`
2022-03-30 15:25:37 +00:00
lcnr
148b593954
get clippy to compile again
2022-03-30 11:23:58 +02:00
Camille GILLOT
e01897edcb
Remember mutability in DefKind::Static
.
...
This allows to compute the `BodyOwnerKind` from `DefKind` only, and
removes a direct dependency of some MIR queries onto HIR.
As a side effect, it also simplifies metadata, since we don't need 4
flavours of `EntryKind::*Static` any more.
2022-03-29 18:50:52 +02:00
Takayuki Nakata
c22b7b8814
Fix ICE for iter_overeager_cloned
2022-03-29 21:51:37 +09:00
J-ZhengLi
448a26d696
improve parent expr check
2022-03-29 15:23:19 +08:00
Samuel E. Moelius III
cb307bbfcd
Address review comments
2022-03-28 04:48:12 -04:00
Jaic1
ec851b870b
First submit
2022-03-28 12:09:01 +08:00
bors
6206086dd5
Auto merge of #8487 - dswij:8478, r=giraffate
...
[`map_identity`] checks for needless `map_err`
Closes #8478
changelog: [`map_identity`] checks for needless `map_err`
2022-03-28 00:25:45 +00:00
bors
59c0f29916
Auto merge of #8519 - tysg:redundant-modulo, r=giraffate
...
Check if lhs < rhs in modulos in `identity_op`
Fixes #8508
changelog: [`identity_op`] now checks for modulos, e.g. `1 % 3`
2022-03-28 00:11:32 +00:00
Tianyi Song
52b563b283
Emit lint when rhs is negative
2022-03-27 21:49:38 +08:00
Caio
c687f6575f
Do not fire panic
in a constant environment
2022-03-26 15:39:21 -03:00
Peter Jaszkowiak
21eae8ceb6
fix indexing_slicing
with const
...
- should not fire if indexing with a constant block
- should not fire if indexing within a constant context
(const statement or const block)
2022-03-25 23:05:38 -06:00
Alex Macleod
610db04222
Provide suggestion context in map_unit_fn
2022-03-25 20:47:54 +00:00
Grisha Vartanyan
854c3de1ff
Update clippy helper function types
2022-03-25 15:05:27 +01:00
flip1995
1fa3d66e62
Merge commit 'd0cf3481a84e3aa68c2f185c460e282af36ebc42' into clippyup
2022-03-24 14:50:04 +01:00
flip1995
1147b2c481
Merge remote-tracking branch 'upstream/master' into rustup
2022-03-24 14:22:35 +01:00
Samuel Moelius
86872059ed
Typo
2022-03-24 08:57:08 -04:00
Yoav Lavi
b60a7fb7b6
unnecessary_join
lint
2022-03-24 13:18:18 +01:00
Samuel E. Moelius III
65a26692fd
Add crate_in_macro_def
lint
2022-03-24 05:08:10 -04:00
bors
f07ee8a998
Auto merge of #8232 - Jarcho:match_same_arm_860, r=xFrednet
...
`match_same_arms` fix
fixes #860
fixes #1140
changelog: Don't lint `match_same_arms` when an interposing arm's pattern would overlap
2022-03-21 20:42:51 +00:00
bors
4a07662d94
Auto merge of #8561 - FoseFx:use_unwrap_or, r=xFrednet
...
add `or_then_unwrap`
Closes #8557
changelog: New lint [`or_then_unwrap`]
2022-03-21 20:08:29 +00:00
J-ZhengLi
5b6295d663
allowing [map_flatten
] to split long suggestions
...
add new function `span_lint_and_sugg_` for edges in `clippy_utils::diagnostics`
2022-03-21 14:11:22 +08:00
Max Baumann
765cce11b1
refactor: remove need for MethodCall matching
2022-03-21 00:04:37 +01:00
Max Baumann
4580c8a9b7
refactor: use is_lang_ctor()
2022-03-20 23:54:04 +01:00
Max Baumann
0f83753934
feat: change error message
2022-03-20 23:43:17 +01:00
Max Baumann
895de1f13e
feat: make fixable
2022-03-18 23:18:36 +01:00
Max Baumann
f00e844a1f
feat: use span_lint_and_sugg
2022-03-18 22:44:56 +01:00
Max Baumann
34ad33c57a
refactor: move into methods module
2022-03-18 21:11:54 +01:00
bors
a31dcb77be
Auto merge of #8562 - Jarcho:enum_tuple_variant_as_int, r=Manishearth
...
Add lint `cast_enum_constructor`
fixes : #1116
changelog: Add lint `cast_enum_constructor`
2022-03-18 15:54:45 +00:00
bors
9fd3c2d788
Auto merge of #8543 - dswij:8393, r=giraffate
...
`unnecessary_lazy_eval` show suggestions on multiline lint
Closes #8393
changelog: [`unnecessary_lazy_eval`] now shows suggestions for long-line lints
2022-03-18 00:42:18 +00:00
Max Baumann
3c4192f3e9
fix: ran update_lints
2022-03-18 01:12:39 +01:00
Max Baumann
05e05eaed7
refactor: rename lint to or_then_unwrap
2022-03-18 01:04:33 +01:00
Jason Newcomb
39329d1d40
Add lint cast_enum_constructor
2022-03-17 19:57:35 -04:00
Max Baumann
44c62c9aa2
feat: add tests and fix existing ones
2022-03-18 00:51:26 +01:00
Max Baumann
17ff85081d
feat: rename variable in example
2022-03-18 00:34:24 +01:00
Max Baumann
4493fc7d27
refactor: use pattern matching for MethodCall arguments
...
Co-authored-by: xFrednet <xFrednet@gmail.com>
2022-03-18 00:23:55 +01:00
Max Baumann
c22ff6cd6e
fix: fix clippy_lints
2022-03-17 19:52:07 +01:00
Max Baumann
747bb245e7
fix: fix broken dogfood tests
2022-03-17 19:29:59 +01:00
Max Baumann
3f00f074de
fix: fix tests
2022-03-17 19:13:44 +01:00
Max Baumann
f49a2c3457
feat: add use_unwrap_or
2022-03-17 18:57:28 +01:00
bors
8d5c0eadde
Auto merge of #8552 - Jarcho:ptr_arg_8495, r=xFrednet
...
Don't lint `ptr_arg` on `&mut Cow<_>`
fixes : #8495
changelog: Don't lint `ptr_arg` on `&mut Cow<_>`
2022-03-17 17:05:26 +00:00
J-ZhengLi
4b128624ed
fix #8551 , add test cases, and some code improvement
2022-03-17 23:06:31 +08:00
dswij
bd888d4354
Add some comments
2022-03-17 14:38:39 +08:00
Jason Newcomb
773d20341a
Fix mixed enum variant kinds + code cleanup
2022-03-17 01:09:25 -04:00
Jason Newcomb
08a7157a37
Improve message for match_single_arms
2022-03-16 13:58:09 -04:00
Jason Newcomb
4f8f4b4c82
Handle slice patterns in match_same_arms
2022-03-16 13:53:52 -04:00
Jason Newcomb
5508f461b8
Use DroplessArena
when allocating ResolvedPat
s
...
Fix tuple handling in `match_same_arms`
2022-03-16 13:49:19 -04:00
Jason Newcomb
b37317b028
Check if there are any overlapping patterns between equal arm bodies in match_same_arm
2022-03-16 13:18:29 -04:00
Jason Newcomb
8e5208cbff
Don't lint transmute_undefined_repr
when changing the type of generic params
2022-03-16 12:56:23 -04:00
Jason Newcomb
851e715e5a
Don't lint ptr_arg
on &mut Cow<_>
2022-03-16 12:00:27 -04:00
codehorseman
4beda1be70
resolve the conflict in compiler/rustc_session/src/parse.rs
...
Signed-off-by: codehorseman <cricis@yeah.net>
2022-03-16 20:12:30 +08:00
bors
d23ddab82d
Auto merge of #8544 - nellorocca:dev/5757, r=flip1995
...
Moved ``[try_err]`` to restriction
Fixes #5757
changelog: Moved try_err lint to rescrition for #5757
2022-03-16 09:55:39 +00:00
bors
2b0e730bf3
Auto merge of #8547 - Jarcho:transmute_8501, r=flip1995
...
More `transmute_undefined_repr` fixes
fixes : #8498
fixes : #8501
fixes : #8503
changelog: Allow `transumte_undefined_repr` between fat pointers and `(usize, usize)`
changelog: Allow `transumte_undefined_repr` when one side is a union
changelog: Fix `transumte_undefined_repr` on tuples with one non-zero-sized type.
2022-03-16 09:39:22 +00:00
J-ZhengLi
2909b33a24
quick fix of issue#8542 for lint [needless_match]
...
remove `ref`/`ref mut` check
2022-03-16 16:26:56 +08:00
Jason Newcomb
47c9ed697b
Fix checking transmutes with adjusted types
2022-03-15 23:11:11 -04:00
Jason Newcomb
911e10562a
Don't lint transmute_undefined_repr
on unions.
2022-03-15 22:38:15 -04:00
Jason Newcomb
7fd52b5e3c
Small simplification to transmute_undefined_repr
2022-03-15 22:33:26 -04:00
Jason Newcomb
442d4ce1c3
Don't lint fat pointer to (usize, usize)
conversion in transmute_undefined_repr
2022-03-15 22:31:07 -04:00
Jason Newcomb
e71ac41d44
Fix transmute_undefined_repr
for single element tuples
2022-03-15 21:51:07 -04:00
Kisaragi
9f95e7622d
fix typo in code-block kind specifier
2022-03-16 10:19:19 +09:00
Kisaragi
fc5cbba1a4
fix typo in code-block kind specifier
2022-03-16 08:50:30 +09:00
Jason Newcomb
30b333645d
Don't lint undocumented_unsafe_blocks
on bad proc-macro spans.
2022-03-15 16:52:28 -04:00
Paolo Gentili
a39d649733
Lint list updated
2022-03-15 19:38:40 +01:00
Jason Newcomb
65f96e2b53
Rework undocumented_unsafe_blocks
2022-03-15 14:18:05 -04:00
Paolo Gentili
5c1843dbce
Moved lint to restriction
2022-03-15 18:45:01 +01:00
dswij
6a3dbe4798
unnecessary_lazy_eval
show suggestions on multiline lint
2022-03-15 23:59:26 +08:00
flip1995
b981748036
Move iter_with_drain to nursery
2022-03-15 09:46:49 +01:00
bors
71ecbc42f9
Auto merge of #8509 - smoelius:fix-8507, r=giraffate
...
Fix `unncessary_to_owned` false positive
Fix #8507
changelog: none
2022-03-15 01:08:47 +00:00
Dylan DPC
5ed40229ac
fix typos
2022-03-15 02:00:08 +01:00
xFrednet
2ee5372389
Allow single_component_path_imports
for all macros
2022-03-14 22:45:00 +01:00
flip1995
d1b087fdee
Merge commit 'dc5423ad448877e33cca28db2f1445c9c4473c75' into clippyup
2022-03-14 12:02:53 +01:00
flip1995
d5ab347d5c
Merge remote-tracking branch 'upstream/master' into rustup
2022-03-14 11:29:18 +01:00
bors
e2e492c10e
Auto merge of #8422 - buttercrab:only_used_in_recursion, r=llogiq
...
new lint: `only_used_in_recursion`
changed:
- added `only_used_in_recursion`.
- fixed code that variables are only used in recursion.
- this would not lint when `unused_variable`
This fixes : #8390
-----
changelog: add lint [`only_used_in_recursion`]
2022-03-13 16:11:25 +00:00
Jaeyong Sung
800f66de2b
add clearing return vars
2022-03-14 00:13:57 +09:00
bors
75b616e92f
Auto merge of #8471 - J-ZhengLi:master-issue7040, r=llogiq
...
new lint that detects useless match expression
fixes #7040
changelog: Add new lint [`needless_match`] under complexity lint group
2022-03-13 14:49:56 +00:00
Tianyi Song
a944ccb677
Check if lhs < rhs in modulos and emit
2022-03-11 16:02:49 +08:00
Nicholas Nethercote
e110231260
Improve AdtDef
interning.
...
This commit makes `AdtDef` use `Interned`. Much the commit is tedious
changes to introduce getter functions. The interesting changes are in
`compiler/rustc_middle/src/ty/adt.rs`.
2022-03-11 13:31:24 +11:00
Jaeyong Sung
1ad7e7097a
remove parameters that are only used in recursion
2022-03-10 16:06:35 +09:00
Jaeyong Sung
52d35dca6a
fix build error
2022-03-10 15:53:53 +09:00
J-ZhengLi
086b045822
add checking for x -> x
and ref x -> x
and related test cases.
2022-03-10 14:46:58 +08:00
Jaeyong Sung
69161c6327
fix to lint Self::function
2022-03-10 15:46:40 +09:00
J-ZhengLi
ec9116412a
rename lint to needless_match
...
and change its lint group to "complexity"
2022-03-10 09:44:25 +08:00
lcnr
a4d6c61bdc
add #[rustc_pass_by_value]
to more types
2022-03-08 15:39:52 +01:00
J-ZhengLi
750204e3e3
fix a bug that caused internal test fail
2022-03-08 18:15:11 +08:00