Commit Graph

8672 Commits

Author SHA1 Message Date
Christian Poveda c6692a8b42 Add configuration to lint missing docs of pub(crate) items 2023-02-06 14:21:37 -05:00
Michael Krasnitski fba16e2e3a Add extra_unused_type_parameters lint 2023-02-02 19:37:34 -05:00
bors 006a4cc767 Auto merge of #10276 - m-ou-se:manual-assert, r=Alexendoo
Don't depend on FormatArgsExpn in ManualAssert.

Part of https://github.com/rust-lang/rust-clippy/issues/10233

changelog: none
2023-02-02 14:47:43 +00:00
Mara Bos f7d59b2e57 Don't depend on FormatArgsExpn in ManualAssert. 2023-02-01 22:50:43 +01:00
bors a2f85deba3 Auto merge of #10250 - tylerjw:issue_7419, r=xFrednet
wildcard_enum_match_arm lint takes the enum origin into account

fixes #7419

---

changelog: Enhancement: [`wildcard_enum_match_arm`]: Now lints missing private variants, for local enums
[#10250](https://github.com/rust-lang/rust-clippy/pull/10250)
<!-- changelog_checked -->
2023-02-01 20:01:56 +00:00
bors 75d76806c1 Auto merge of #10256 - SylvainDe:master, r=giraffate
Fix version declared for semicolon_inside_block and semicolon_outside…

As per Issue #10244, the lint were documentated
as being part of 1.66.0 but will actually be
released 1.68.0 .

changelog: [`semicolon_inside_block`]: Documentation fix
Fixes #10244
2023-02-01 00:24:04 +00:00
bors 2880dccabb Auto merge of #10265 - Manishearth:uninlined-fmt-pedantic, r=Alexendoo
Mark uninlined_format_args as pedantic

Fixes https://github.com/rust-lang/rust-clippy/issues/10087

We should restore this when rust-analyzer support gets better. Worth filing an issue to track.

changelog: Mark [`uninlined_format_args`] as `pedantic`
2023-01-31 19:21:44 +00:00
Alex Macleod 6a8b20230b Add machine applicable suggestion for needless_lifetimes
Also adds a test for #5787
2023-01-31 14:12:03 +00:00
bors 607e3e893e Auto merge of #10114 - tgross35:option-let-else-wording, r=flip1995
option_if_let_else: update known problems wording

changelog: none
<!-- changelog_checked -->
2023-01-31 09:36:15 +00:00
bors d227f18c2e Auto merge of #10225 - evantypanski:et/issue10132, r=flip1995
[`unused_io_amount`]: Lint with `is_ok` and `is_err`

Fixes #10132

changelog: Apply [`unused_io_amount`] lint to `is_ok` and `is_err` without checking read/write amount
2023-01-31 08:20:21 +00:00
Manish Goregaokar b4e2b48270 Mark uninlined_format_args as pedantic 2023-01-30 19:28:27 -08:00
Tyler Weaver df7cdf732d Pull the is_external test out of the loop 2023-01-30 17:29:29 -07:00
Tyler Weaver c531b09eb8 Check external before hidden 2023-01-30 17:29:29 -07:00
Tyler Weaver 2432e97d6a wildcard_enum_match_arm lint takes the enum origin into account
Signed-off-by: Tyler Weaver <maybe@tylerjw.dev>
2023-01-30 17:29:29 -07:00
Tyler Weaver 4fde96c30e Test needless_lifetimes within external macro
Signed-off-by: Tyler Weaver <maybe@tylerjw.dev>
2023-01-30 16:16:53 -07:00
bors d020fd7fe6 Auto merge of #10260 - Niki4tap:external_macro_fp, r=xFrednet
`multiple_unsafe_ops_per_block`: Don't lint in external macros

Fixes #10259

changelog: FP: [`multiple_unsafe_ops_per_block`]: No longer lints in external macros
[#10260](https://github.com/rust-lang/rust-clippy/pull/10260)
<!-- changelog_none -->
2023-01-30 20:10:19 +00:00
bors 173fac0989 Auto merge of #10255 - khayyamsaleem:issue_9520, r=Jarcho
prevents `len_without_is_empty` from yielding positive when `len` takes arguments besides `&self`

Fixes #9520

---

changelog: FP [`len_without_is_empty`]: No longer lints, if `len` as a non-default signature
[#10255](https://github.com/rust-lang/rust-clippy/pull/10255)
<!-- changelog_checked -->
2023-01-30 19:08:04 +00:00
Niki4tap 926c5e4cde multiple_unsafe_ops_per_block: don't lint in external macros 2023-01-30 20:42:40 +03:00
bors d92070a7b9 Auto merge of #10254 - tylerjw:issue_6929, r=Manishearth
needless_range_loop: improve documentation

fixes #6929

changelog: [`needless_range_loop`]: improve documentation
2023-01-30 17:30:32 +00:00
Tyler Weaver 3b225e3a96 Update clippy_lints/src/loops/needless_range_loop.rs
Co-authored-by: Manish Goregaokar <manishsmail@gmail.com>
2023-01-30 09:59:26 -07:00
bors 8fb0041f47 Auto merge of #10248 - koka831:missing-config, r=xFrednet
Missing config

This PR addresses https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/Some.20lints.20miss.20its.20config/near/318460000.

changelog: Documentation: Made sure that lint configurations on Clippy's lint list are all up to date
[#10248](https://github.com/rust-lang/rust-clippy/pull/10248)
<!-- changelog_checked -->

r? `@xFrednet`

---

I have tried to create [a prototype](https://github.com/koka831/rust-clippy/pull/1), but have not yet found a good way to implement it.
So I would like to put it aside for now and try again after addressing other issues so that I can understand how clippy works better:)
2023-01-30 16:40:25 +00:00
koka a9e6b12854 fix: use correct lint name
fix
2023-01-30 20:35:35 +09:00
Sylvain Desodt ecde2019e9 Fix version declared for semicolon_inside_block and semicolon_outside_block
As per Issue #10244, the lint were documentated
as being part of 1.66.0 but will actually be
released 1.68.0 .
2023-01-30 10:01:38 +01:00
ksaleem 2fd94a4e01 prevents len_without_is_empty from yielding positive when len takes
more than just `&self` in non-standard implementations.

changelog: Fix [`len_without_is_empty`] false positive when len has a
non-standard method signature

Fixes #9520
2023-01-29 17:35:36 -05:00
Tyler Weaver 4d266d31de needless_range_loop: improve documentation 2023-01-29 11:41:53 -07:00
bors 96c28d1f69 Auto merge of #10231 - Alexendoo:regex-spans, r=llogiq
`invalid_regex`: Show full error when string value doesn't match source

changelog: [`invalid_regex`]: Show full error when parsing non-literals or regular strings containing escape sequences

Fixes #4170, the escape sequence there causes the span to be incorrect which will have caused most of the confusion
2023-01-29 14:13:58 +00:00
koka af62bf95a3 fix key name of MUTABLE_KEY_TYPE 2023-01-29 03:13:30 +09:00
koka d87a6bc9b1 add MANUAL_RETAIN to msrv
MANUAL_RETAIN uses
- msrvs::STRING_RETAIN
- msrvs::BTREE_SET_RETAIN
- msrvs::BTREE_MAP_RETAIN
- msrvs::HASH_SET_RETAIN
- msrvs::HASH_MAP_RETAIN
2023-01-29 03:07:09 +09:00
koka 2f4b047b27 add MANUAL_REM_EUCLID to msrv
MANUAL_REM_EUCLID uses msrvs::REM_EUCLID
2023-01-29 03:04:56 +09:00
koka 1766532b20 add MANUAL_IS_ASCII_CHECK to msrv
MANUAL_IS_ASCII_CHECK uses msrvs::IS_ASCII_DIGIT and msrvs::IS_ASCII_DIGIT_CONST
2023-01-29 03:02:23 +09:00
koka 25d455bd17 fix: add missing dot to suppress_restriction_lint_in_const 2023-01-29 02:54:26 +09:00
koka e791522d35 add DERIVABLE_IMPLS to msrv
DERIVABLE_IMPLS uses msrvs::DEFAULT_ENUM_ATTRIBUTE
2023-01-29 02:39:37 +09:00
koka fb77b02789 add NEEDLESS_BORROW to msrv
NEEDLESS_BORROW uses msrvs::ARRAY_INTO_ITERATOR
2023-01-29 02:37:00 +09:00
koka 7716d69757 fix: add missing dot to AWAIT_HOLDING_INVALID_TYPE 2023-01-29 02:27:43 +09:00
koka e65f9f9d32 add ALMOST_COMPLETE_RANGE to msrv
ALMOST_COMPLETE_RANGE uses msrvs::RANGE_INCLUSIVE
2023-01-29 02:22:10 +09:00
koka 07a8bf15ff add TRANSMUTE_PTR_TO_REF to msrv
TRANSMUTE_PTR_TO_REF uses msrvs::POINTER_CAST
2023-01-29 02:14:38 +09:00
koka 532841fcae add UNNECESSARY_LAZY_EVALUATIONS to msrv
UNNECESSARY_LAZY_EVALUATIONS uses msrvs::BOOL_THEN_SOME for `then` to
`then_some`
2023-01-29 02:02:46 +09:00
koka a05e86f5dd add SEEK_REWIND in msrv
SEEK_REWIND uses msrvs::SEEK_REWIND
2023-01-29 01:54:31 +09:00
koka 5a9c4a0090 add SEEK_FROM_CURRENT in msrv
SEEK_FROM_CURRENT uses msrvs::SEEK_FROM_CURRENT
2023-01-29 01:52:05 +09:00
koka a0460cf37d add COLLAPSIBLE_STR_REPLACE in msrv
COLLAPSIBLE_STR_REPLACE uses msrvs::PATTERN_TRAIT_CHAR_ARRAY
2023-01-29 01:49:10 +09:00
Philipp Krones 2bc2431fd1 Merge remote-tracking branch 'upstream/master' into rustup 2023-01-27 20:26:35 +01:00
Collin Styles a1a01c19f1 Fix docs for suspicious_xor_used_as_pow lint
There was a tab after the three leading slashes which caused the
contents of the "Why is this bad?" section to be rendered as a code
block.
2023-01-26 16:52:39 -08:00
Alex Macleod 986f40fab0 invalid_regex: Show full error when string value doesn't match source 2023-01-26 15:33:40 +00:00
bors a64940f948 Auto merge of #106745 - m-ou-se:format-args-ast, r=oli-obk
Move format_args!() into AST (and expand it during AST lowering)

Implements https://github.com/rust-lang/compiler-team/issues/541

This moves FormatArgs from rustc_builtin_macros to rustc_ast_lowering. For now, the end result is the same. But this allows for future changes to do smarter things with format_args!(). It also allows Clippy to directly access the ast::FormatArgs, making things a lot easier.

This change turns the format args types into lang items. The builtin macro used to refer to them by their path. After this change, the path is no longer relevant, making it easier to make changes in `core`.

This updates clippy to use the new language items, but this doesn't yet make clippy use the ast::FormatArgs structure that's now available. That should be done after this is merged.
2023-01-26 12:44:47 +00:00
Martin Fischer 20cc72e8a8 Improve span for module_name_repetitions 2023-01-25 07:07:10 +01:00
Evan Typanski f9f75e0932 Lint unused_io_amount with is_ok and is_err 2023-01-24 18:22:35 -05:00
Vincenzo Palazzo 2d8ede2335 fix: use LocalDefId instead of HirId in trait res
use LocalDefId instead of HirId in trait resolution to simplify
the obligation clause resolution

Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
2023-01-23 11:42:18 +00:00
bors a9c251f11d Auto merge of #10106 - koka831:fix/10084, r=Alexendoo
Fix FP in `unnecessary_safety_comment`

Fix https://github.com/rust-lang/rust-clippy/issues/10084

changelog: FP: [`unnecessary_safety_comment`]: No longer lints code inside macros
[#10106](https://github.com/rust-lang/rust-clippy/pull/10106)
<!-- changelog_checked -->
2023-01-22 14:10:16 +00:00
Alex Macleod 5f49808bde Add machine applicable suggestion for bool_assert_comparison 2023-01-21 17:33:39 +00:00
bors 298a78277e Auto merge of #106977 - michaelwoerister:unord_id_collections, r=oli-obk
Use UnordMap and UnordSet for id collections (DefIdMap, LocalDefIdMap, etc)

This PR changes the `rustc_data_structures::define_id_collections!` macro to use `UnordMap` and `UnordSet` instead of `FxHashMap` and `FxHashSet`. This should account for a large portion of hash-maps being used in places where they can cause trouble.

The changes required are moderate but non-zero:
- In some places the collections are extracted into sorted vecs.
- There are a few instances where for-loops have been changed to extends.

~~Let's see what the performance impact is. With a bit more refactoring, we might be able to get rid of some of the additional sorting -- but the change set is already big enough. Unless there's a performance impact, I'd like to do further changes in subsequent PRs.~~

Performance does not seem to be negatively affected ([perf-run here](https://github.com/rust-lang/rust/pull/106977#issuecomment-1396776699)).

Part of [MCP 533](https://github.com/rust-lang/compiler-team/issues/533).

r? `@ghost`
2023-01-21 14:18:17 +00:00