]> git.lizzy.rs Git - rust.git/log
rust.git
23 months agoMove `VecResizeToZero` into `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 15:17:38 +0000 (11:17 -0400)]
Move `VecResizeToZero` into `Methods` lint pass

23 months agoMove `UnnecessarySortBy` into `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 03:22:58 +0000 (23:22 -0400)]
Move `UnnecessarySortBy` into `Methods` lint pass

23 months agoMove `UnitHash` into `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 01:41:33 +0000 (21:41 -0400)]
Move `UnitHash` into `Methods` lint pass

23 months agoMove `TransmutingNull` into `Transmute` lint pass
Jason Newcomb [Mon, 6 Jun 2022 01:36:40 +0000 (21:36 -0400)]
Move `TransmutingNull` into `Transmute` lint pass

23 months agoMove `StableSortPrimitive` to `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 01:07:29 +0000 (21:07 -0400)]
Move `StableSortPrimitive` to `Methods` lint pass

23 months agoMove `RepeatOnce` into `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 00:49:03 +0000 (20:49 -0400)]
Move `RepeatOnce` into `Methods` lint pass

23 months agoMove `range_zip_with_len` into `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 00:39:57 +0000 (20:39 -0400)]
Move `range_zip_with_len` into `Methods` lint pass

23 months agoMove `PathBufPushOverwrite` into `Methods` lint group
Jason Newcomb [Mon, 6 Jun 2022 00:27:36 +0000 (20:27 -0400)]
Move `PathBufPushOverwrite` into `Methods` lint group

23 months agoMove `OpenOptions` into `Methods` lint pass
Jason Newcomb [Mon, 6 Jun 2022 00:09:55 +0000 (20:09 -0400)]
Move `OpenOptions` into `Methods` lint pass

23 months agoMove `MutMutexLock` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 23:57:58 +0000 (19:57 -0400)]
Move `MutMutexLock` into `Methods` lint pass

23 months agoMove `MapErrIgnore` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 19:59:24 +0000 (15:59 -0400)]
Move `MapErrIgnore` into `Methods` lint pass

23 months agoMove `MapClone` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 19:45:04 +0000 (15:45 -0400)]
Move `MapClone` into `Methods` lint pass

23 months agoMove `ManualOkOr` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 19:20:47 +0000 (15:20 -0400)]
Move `ManualOkOr` into `Methods` lint pass

23 months agoMove `GetFirst` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 17:44:09 +0000 (13:44 -0400)]
Move `GetFirst` into `Methods` lint pass

23 months agoMove `CaseSensitiveFileExtensionComparisons` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 17:21:04 +0000 (13:21 -0400)]
Move `CaseSensitiveFileExtensionComparisons` into `Methods` lint pass

23 months agoMove `BytesCountToLen` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 17:05:11 +0000 (13:05 -0400)]
Move `BytesCountToLen` into `Methods` lint pass

23 months agoMove `ByteCount` into `Methods` lint pass
Jason Newcomb [Sun, 5 Jun 2022 15:39:36 +0000 (11:39 -0400)]
Move `ByteCount` into `Methods` lint pass

23 months agoMove `BorrowAsPtr` into `Casts` lint pass
Jason Newcomb [Sun, 5 Jun 2022 13:33:15 +0000 (09:33 -0400)]
Move `BorrowAsPtr` into `Casts` lint pass

23 months agoMove `AsUnderscore` into `Casts` lint pass
Jason Newcomb [Sun, 5 Jun 2022 13:13:13 +0000 (09:13 -0400)]
Move `AsUnderscore` into `Casts` lint pass

23 months agoBetter handle method/function calls
Serial [Fri, 5 Aug 2022 17:49:43 +0000 (13:49 -0400)]
Better handle method/function calls

23 months agoAdd [`unused_peekable`] lint
Serial [Fri, 29 Jul 2022 00:50:43 +0000 (20:50 -0400)]
Add [`unused_peekable`] lint

23 months agoAuto merge of #9295 - Guilherme-Vasconcelos:manual-empty-string-creation, r=dswij
bors [Fri, 19 Aug 2022 11:19:06 +0000 (11:19 +0000)]
Auto merge of #9295 - Guilherme-Vasconcelos:manual-empty-string-creation, r=dswij

Add `manual_empty_string_creations` lint

Closes #2972

- [x] Followed [lint naming conventions][lint_naming]
- [x] Added passing UI tests (including committed `.stderr` file)
- [x] `cargo test` passes locally
- [x] Executed `cargo dev update_lints`
- [x] Added lint documentation
- [x] Run `cargo dev fmt`

changelog: [`manual_empty_string_creations`]: Add lint for empty String not being created with `String::new()`

23 months agoAuto merge of #9348 - lukaslueg:issue9347, r=Alexendoo
bors [Thu, 18 Aug 2022 18:13:39 +0000 (18:13 +0000)]
Auto merge of #9348 - lukaslueg:issue9347, r=Alexendoo

Don't lint on match pattern-binding in ´question_mark`

Fixes #9347

Technically it is possible to have a blank match-pattern that does nothing, and we fail to lint. But it's easier to be safe than sorry here.

changelog: [`question_mark`]: don't lint `if let`s with subpatterns

23 months agoDont lint on match pattern-binding
Lukas Lueg [Thu, 18 Aug 2022 17:30:56 +0000 (19:30 +0200)]
Dont lint on match pattern-binding

Fixes #9347

Technically it is possible to have a blank match-pattern that does
nothing, and we fail to lint. But its easier to be safe than sorry here.

23 months agoAuto merge of #9136 - smoelius:enhance-needless-borrow, r=Jarcho
bors [Thu, 18 Aug 2022 15:57:37 +0000 (15:57 +0000)]
Auto merge of #9136 - smoelius:enhance-needless-borrow, r=Jarcho

Enhance `needless_borrow` to consider trait implementations

The proposed enhancement causes `needless_borrow` to suggest removing `&` from `&e` when `&e` is an argument position requiring trait implementations, and `e` implements the required traits. Example:
```
error: the borrowed expression implements the required traits
  --> $DIR/needless_borrow.rs:131:51
   |
LL |     let _ = std::process::Command::new("ls").args(&["-a", "-l"]).status().unwrap();
   |                                                   ^^^^^^^^^^^^^ help: change this to: `["-a", "-l"]`
```

r? `@Jarcho`

changelog: Enhance `needless_borrow` to consider trait implementations

23 months agoAuto merge of #9338 - sgued:9331-unwrap-err-used, r=giraffate
bors [Wed, 17 Aug 2022 23:35:44 +0000 (23:35 +0000)]
Auto merge of #9338 - sgued:9331-unwrap-err-used, r=giraffate

unwrap_used and expect_used: trigger on uses of their _err variants

changelog: [`unwrap_used`]: lint uses of `unwrap_err`
changelog: [`expect_used`]: lint uses of `expect_err`

fixes #9331

23 months agounwrap_used: Fix error message for unwrap_err when expect_used is allowed
Sosthène Guédon [Wed, 17 Aug 2022 16:58:17 +0000 (18:58 +0200)]
unwrap_used: Fix error message for unwrap_err when expect_used is allowed

23 months agoAuto merge of #9287 - Jarcho:trans_undefined, r=xFrednet
bors [Wed, 17 Aug 2022 13:14:55 +0000 (13:14 +0000)]
Auto merge of #9287 - Jarcho:trans_undefined, r=xFrednet

`transmute_undefined_repr` fix

changelog: Don't lint `transmute_undefined_repr` when the the first field of a `repr(C)` type is compatible with the other type

23 months agoRollup merge of #100018 - nnethercote:clean-up-LitKind, r=petrochenkov
Matthias Krüger [Wed, 17 Aug 2022 10:32:49 +0000 (12:32 +0200)]
Rollup merge of #100018 - nnethercote:clean-up-LitKind, r=petrochenkov

Clean up `LitKind`

r? ``@petrochenkov``

23 months agoAuto merge of #9345 - cherryblossom000:patch-1, r=flip1995
bors [Wed, 17 Aug 2022 09:18:14 +0000 (09:18 +0000)]
Auto merge of #9345 - cherryblossom000:patch-1, r=flip1995

Fix typo in as_undescore docs

*Please write a short comment explaining your change (or "none" for internal only changes)*

changelog: none

23 months agoAuto merge of #9344 - Jarcho:opt_target_dir, r=flip1995
bors [Wed, 17 Aug 2022 08:56:35 +0000 (08:56 +0000)]
Auto merge of #9344 - Jarcho:opt_target_dir, r=flip1995

Handle `CARGO_TARGET_DIR` not being set in compile-test

changelog: None

23 months agoFix typo in as_undescore docs
cherryblossom [Wed, 17 Aug 2022 08:56:06 +0000 (18:56 +1000)]
Fix typo in as_undescore docs

du -> due

23 months agoHandle `CARGO_TARGET_DIR` not being set in compile-test
Jason Newcomb [Wed, 17 Aug 2022 01:22:29 +0000 (21:22 -0400)]
Handle `CARGO_TARGET_DIR` not being set in compile-test

23 months agoAuto merge of #9341 - bmc-msft:suggest-map_or-instead-of-unwrap_or, r=giraffate
bors [Wed, 17 Aug 2022 00:30:41 +0000 (00:30 +0000)]
Auto merge of #9341 - bmc-msft:suggest-map_or-instead-of-unwrap_or, r=giraffate

suggest map_or in case_sensitive_file_extension_comparisons

changelog: [`case_sensitive_file_extension_comparisons `]: updated suggestion in the example to use `map_or`

Currently, case_sensitive_file_extension_comparisons suggests using `map(..).unwrap_or(..)` which trips up the `map_unwrap_or` lint.  This updates the suggestion to use `map_or`.

23 months agoFix adjacent code
Samuel E. Moelius III [Fri, 8 Jul 2022 09:30:17 +0000 (05:30 -0400)]
Fix adjacent code

23 months agoEnhance `needless_borrow` to consider trait implementations
Samuel E. Moelius III [Fri, 8 Jul 2022 09:29:10 +0000 (05:29 -0400)]
Enhance `needless_borrow` to consider trait implementations

23 months agoAuto merge of #9343 - Serial-ATA:compiletest-target-env, r=Manishearth
bors [Tue, 16 Aug 2022 21:39:45 +0000 (21:39 +0000)]
Auto merge of #9343 - Serial-ATA:compiletest-target-env, r=Manishearth

Use `CARGO_TARGET_DIR` in compile-test

changelog: none

I have a global `CARGO_TARGET_DIR` set, but forgot to delete the old target dir. `compile-test` was getting tripped up on an outdated `rustfix_missing_coverage.txt` I had in there, keeping me from running tests :smile:.

23 months agoUse `CARGO_TARGET_DIR` in compile-test
Serial [Tue, 16 Aug 2022 21:17:21 +0000 (17:17 -0400)]
Use `CARGO_TARGET_DIR` in compile-test

23 months agoAuto merge of #9327 - Serial-ATA:non_ascii_literal_macro, r=Alexendoo
bors [Tue, 16 Aug 2022 20:22:39 +0000 (20:22 +0000)]
Auto merge of #9327 - Serial-ATA:non_ascii_literal_macro, r=Alexendoo

Fix [`non_ascii_literal`] in tests

changelog: Don't lint [`non_ascii_literal`] when using non-ascii comments in tests
changelog: Don't lint [`non_ascii_literal`] when `allow`ed on tests

closes: #7739
closes: #8263

23 months agosuggest map_or in case_sensitive_file_extension_comparisons
Brian Caswell [Tue, 16 Aug 2022 20:03:23 +0000 (16:03 -0400)]
suggest map_or in case_sensitive_file_extension_comparisons

Currently, case_sensitive_file_extension_comparisons suggests using
`map(..).unwrap_or(..)` which trips up `map_unwrap_or`.  This updates
the suggestion to use map_or.

23 months agoFix [`non_ascii_literal`] in tests
Serial [Sat, 13 Aug 2022 00:02:57 +0000 (20:02 -0400)]
Fix [`non_ascii_literal`] in tests

23 months agounwrap_used and expect_used: trigger on uses of their _err variants
Sosthène Guédon [Mon, 15 Aug 2022 18:30:30 +0000 (20:30 +0200)]
unwrap_used and expect_used: trigger on uses of their _err variants

23 months agoAuto merge of #9340 - alex-semenyuk:box_t, r=dswij
bors [Tue, 16 Aug 2022 13:27:10 +0000 (13:27 +0000)]
Auto merge of #9340 - alex-semenyuk:box_t, r=dswij

Fix example

The example didn't show the actual problem [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=9d0e0727ca5bbd854767f50da693ca0f)
changelog: none

23 months agoAuto merge of #9040 - miam-miam100:unused_named_parameter, r=dswij
bors [Tue, 16 Aug 2022 13:11:27 +0000 (13:11 +0000)]
Auto merge of #9040 - miam-miam100:unused_named_parameter, r=dswij

Add new lint [`positional_named_format_parameters`]

*Please write a short comment explaining your change (or "none" for internal only changes)*

changelog: Add new lint [`positional_named_format_parameters`] to warn when named parameters in format strings are used as positional arguments.

23 months agoFix example
alexey semenyuk [Tue, 16 Aug 2022 09:50:53 +0000 (12:50 +0300)]
Fix example

23 months agoRename some things related to literals.
Nicholas Nethercote [Mon, 1 Aug 2022 06:46:08 +0000 (16:46 +1000)]
Rename some things related to literals.

- Rename `ast::Lit::token` as `ast::Lit::token_lit`, because its type is
  `token::Lit`, which is not a token. (This has been confusing me for a
  long time.)
  reasonable because we have an `ast::token::Lit` inside an `ast::Lit`.
- Rename `LitKind::{from,to}_lit_token` as
  `LitKind::{from,to}_token_lit`, to match the above change and
  `token::Lit`.

23 months agoShrink `ast::Attribute`.
Nicholas Nethercote [Thu, 11 Aug 2022 11:06:11 +0000 (21:06 +1000)]
Shrink `ast::Attribute`.

23 months agoAuto merge of #9328 - stanislav-tkach:borrow_deref_ref-remove-extra-deref-from-exampl...
bors [Tue, 16 Aug 2022 00:19:21 +0000 (00:19 +0000)]
Auto merge of #9328 - stanislav-tkach:borrow_deref_ref-remove-extra-deref-from-example, r=giraffate

Remove extra dereference from the borrow_deref_ref lint example

I don't think such minor change should be mentioned in the changelog.

changelog: none

23 months agoAuto merge of #9318 - lukaslueg:ifletmutexref, r=xFrednet
bors [Mon, 15 Aug 2022 21:31:37 +0000 (21:31 +0000)]
Auto merge of #9318 - lukaslueg:ifletmutexref, r=xFrednet

Fix if_let_mutex not checking Mutexes behind refs

Fixes #9193

We can always peel references because we are looking for a method-call, for which autoderef applies.

---

changelog: [`if_let_mutex`]: detect calls to `Mutex::lock()` if mutex is behind a ref
changelog: [`if_let_mutex`]: Add labels to the two instances of the same Mutex that will deadlock

23 months agoSimplify the borrow_deref_ref lint example
Stanislav Tkach [Sat, 13 Aug 2022 14:04:30 +0000 (16:04 +0200)]
Simplify the borrow_deref_ref lint example

23 months agoFix label not starting with lcase-letter
lukaslueg [Mon, 15 Aug 2022 18:13:31 +0000 (20:13 +0200)]
Fix label not starting with lcase-letter

Co-authored-by: Fridtjof Stoldt <xFrednet@gmail.com>
23 months agoAuto merge of #9329 - xphoniex:fix-#9317, r=flip1995
bors [Mon, 15 Aug 2022 10:01:20 +0000 (10:01 +0000)]
Auto merge of #9329 - xphoniex:fix-#9317, r=flip1995

Skip `unnecessary_to_owned` when `t != t.to_string()`

Fixes #9317

changelog: [`unnecessary_to_owned`]: none

23 months agoAuto merge of #96745 - ehuss:even-more-attribute-validation, r=cjgillot
bors [Mon, 15 Aug 2022 05:50:54 +0000 (05:50 +0000)]
Auto merge of #96745 - ehuss:even-more-attribute-validation, r=cjgillot

Visit attributes in more places.

This adds 3 loosely related changes (I can split PRs if desired):

- Attribute checking on pattern struct fields.
- Attribute checking on struct expression fields.
- Lint level visiting on pattern struct fields, struct expression fields, and generic parameters.

There are still some lints which ignore lint levels in various positions. This is a consequence of how the lints themselves are implemented. For example, lint levels on associated consts don't work with `unused_braces`.

23 months agoSkip `unnecessary_to_owned` when `t != t.to_string()`
xphoniex [Sun, 14 Aug 2022 16:29:26 +0000 (16:29 +0000)]
Skip `unnecessary_to_owned` when `t != t.to_string()`

Signed-off-by: xphoniex <dj.2dixx@gmail.com>
23 months agoUpdate all tests to comply with clippy::manual_empty_string_creations
Guilherme-Vasconcelos [Fri, 5 Aug 2022 23:59:50 +0000 (20:59 -0300)]
Update all tests to comply with clippy::manual_empty_string_creations

23 months agoImplement clippy::manual_empty_string_creations lint
Guilherme-Vasconcelos [Mon, 18 Jul 2022 00:20:51 +0000 (21:20 -0300)]
Implement clippy::manual_empty_string_creations lint

23 months agoAuto merge of #9187 - sgued:iter-once, r=flip1995
bors [Sun, 14 Aug 2022 15:45:17 +0000 (15:45 +0000)]
Auto merge of #9187 - sgued:iter-once, r=flip1995

Add lint recommending using `std::iter::once` and `std::iter::empty`

```
changelog: [`iter_once`]: add new lint
changelog: [`iter_empty`]: add new lint
```

fixes #9186

- \[ ] Followed [lint naming conventions][lint_naming]
- \[x] Added passing UI tests (including committed `.stderr` file)
- \[x] `cargo test` passes locally
- \[x] Executed `cargo dev update_lints`
- \[x] Added lint documentation
- \[x] Run `cargo dev fmt`

[lint_naming]: https://rust-lang.github.io/rfcs/0344-conventions-galore.html#lints

The lint doesn't really follow the naming conventions. I don't have any better idea so I'm open to suggestions.

23 months agoAuto merge of #9167 - aldhsu:fix-trait-duplication-false-pos, r=flip1995
bors [Sun, 14 Aug 2022 14:46:26 +0000 (14:46 +0000)]
Auto merge of #9167 - aldhsu:fix-trait-duplication-false-pos, r=flip1995

Fixes [`trait_duplication_in_bounds`] false positives

Fixes #9076 #9151 #8757.
Partially fixes #8771.

changelog: [`trait_duplication_in_bounds`]: Reduce number of false positives.

23 months agoAuto merge of #9326 - flip1995:version-update, r=xFrednet
bors [Sat, 13 Aug 2022 10:02:57 +0000 (10:02 +0000)]
Auto merge of #9326 - flip1995:version-update, r=xFrednet

Update lint versions for 1.63 release

r? `@xFrednet`

changelog: none

23 months agoUpdate lint versions for 1.63 release
flip1995 [Fri, 12 Aug 2022 21:19:53 +0000 (23:19 +0200)]
Update lint versions for 1.63 release

23 months agoAuto merge of #9324 - flip1995:changelog, r=xFrednet
bors [Fri, 12 Aug 2022 21:11:33 +0000 (21:11 +0000)]
Auto merge of #9324 - flip1995:changelog, r=xFrednet

1.63 Changelog

r? `@xFrednet`

changelog: none

[Rendered](https://github.com/flip1995/rust-clippy/blob/changelog/CHANGELOG.md)

23 months agoUpdate Changelog to 1.63
flip1995 [Mon, 8 Aug 2022 19:42:27 +0000 (21:42 +0200)]
Update Changelog to 1.63

23 months agoAdjust cfgs
Mark Rousskov [Tue, 9 Aug 2022 13:56:13 +0000 (09:56 -0400)]
Adjust cfgs

23 months agoAuto merge of #9289 - mkrasnitski:9094, r=xFrednet
bors [Fri, 12 Aug 2022 06:25:59 +0000 (06:25 +0000)]
Auto merge of #9289 - mkrasnitski:9094, r=xFrednet

Extend `if_then_some_else_none` to also suggest `bool::then_some`

Closes #9094.

changelog: Extend `if_then_some_else_none` to also suggest `bool::then_some`

23 months agoUpdate clippy for introduction of Node::ExprField
Eric Huss [Sun, 31 Jul 2022 21:22:27 +0000 (14:22 -0700)]
Update clippy for introduction of Node::ExprField

23 months agoLint trait duplication in one pass.
Allen Hsu [Fri, 12 Aug 2022 02:51:58 +0000 (12:51 +1000)]
Lint trait duplication in one pass.

23 months agoAdjust lint description for better clarity
Michael Krasnitski [Fri, 12 Aug 2022 02:41:25 +0000 (22:41 -0400)]
Adjust lint description for better clarity

23 months agoAuto merge of #100419 - flip1995:clippyup, r=Manishearth
bors [Fri, 12 Aug 2022 00:12:51 +0000 (00:12 +0000)]
Auto merge of #100419 - flip1995:clippyup, r=Manishearth

Update Clippy

r? `@Manishearth`

23 months agoRollup merge of #100392 - nnethercote:simplify-visitors, r=cjgillot
Matthias Krüger [Thu, 11 Aug 2022 20:53:08 +0000 (22:53 +0200)]
Rollup merge of #100392 - nnethercote:simplify-visitors, r=cjgillot

Simplify visitors

By removing some unused arguments.

r? `@cjgillot`

23 months agoMerge commit '2b2190cb5667cdd276a24ef8b9f3692209c54a89' into clippyup
Philipp Krones [Thu, 11 Aug 2022 17:42:16 +0000 (19:42 +0200)]
Merge commit '2b2190cb5667cdd276a24ef8b9f3692209c54a89' into clippyup

23 months agoAuto merge of #9323 - flip1995:rustup, r=flip1995
bors [Thu, 11 Aug 2022 17:28:47 +0000 (17:28 +0000)]
Auto merge of #9323 - flip1995:rustup, r=flip1995

Rustup

r? `@ghost`

changelog: none

23 months agoBump Clippy version -> 0.1.65
Philipp Krones [Thu, 11 Aug 2022 17:26:38 +0000 (19:26 +0200)]
Bump Clippy version -> 0.1.65

23 months agoBump nightly version -> 2022-08-11
Philipp Krones [Thu, 11 Aug 2022 17:26:26 +0000 (19:26 +0200)]
Bump nightly version -> 2022-08-11

23 months agoMerge remote-tracking branch 'upstream/master' into rustup
Philipp Krones [Thu, 11 Aug 2022 17:26:04 +0000 (19:26 +0200)]
Merge remote-tracking branch 'upstream/master' into rustup

23 months agogive up when gurad has side effects
tamaron [Thu, 11 Aug 2022 03:00:46 +0000 (12:00 +0900)]
give up when gurad has side effects

23 months agofix
tamaron [Sat, 2 Jul 2022 03:57:57 +0000 (12:57 +0900)]
fix

23 months agoSimplify `rustc_ast::visit::Visitor::visit_poly_trait_ref`.
Nicholas Nethercote [Thu, 11 Aug 2022 01:05:26 +0000 (11:05 +1000)]
Simplify `rustc_ast::visit::Visitor::visit_poly_trait_ref`.

It is passed an argument that is never used.

23 months agoAdd labels to if_let_mutex
Lukas Lueg [Wed, 10 Aug 2022 18:56:44 +0000 (20:56 +0200)]
Add labels to if_let_mutex

23 months agoFix if_let_mutex not checking Mutexes behind refs
Lukas Lueg [Wed, 10 Aug 2022 17:40:42 +0000 (19:40 +0200)]
Fix if_let_mutex not checking Mutexes behind refs

Fixes #9193

23 months agoDo not consider method call receiver as an argument in AST.
Camille GILLOT [Sun, 7 Aug 2022 13:21:11 +0000 (15:21 +0200)]
Do not consider method call receiver as an argument in AST.

23 months agoAdd new lint [`positional_named_format_parameters`]
miam-miam100 [Thu, 23 Jun 2022 19:09:47 +0000 (20:09 +0100)]
Add new lint [`positional_named_format_parameters`]

23 months agoAuto merge of #9308 - daxpedda:missing-const-for-fn, r=Jarcho
bors [Tue, 9 Aug 2022 03:44:21 +0000 (03:44 +0000)]
Auto merge of #9308 - daxpedda:missing-const-for-fn, r=Jarcho

Use `check_proc_macro` for `missing_const_for_fn`

This uses `@Jarcho's` #8694 implementation to fix `missing_const_for_fn` linting in proc-macros.
I'm not 100% sure what I'm doing here, any feedback is appreciated.

Previously: https://github.com/Jarcho/rust-clippy/pull/1.
Fixes #8854.

changelog: [`missing_const_for_fn`]: No longer lints in proc-macros

23 months agoAddress review take 2
dAxpeDDa [Tue, 9 Aug 2022 03:14:03 +0000 (05:14 +0200)]
Address review take 2

23 months agoAddress review
dAxpeDDa [Tue, 9 Aug 2022 02:48:05 +0000 (04:48 +0200)]
Address review

23 months agoUse `check_proc_macro` for `missing_const_for_fn`
dAxpeDDa [Tue, 9 Aug 2022 01:26:08 +0000 (03:26 +0200)]
Use `check_proc_macro` for `missing_const_for_fn`

23 months agoAuto merge of #9288 - lukaslueg:partialeqnone, r=Jarcho
bors [Tue, 9 Aug 2022 00:12:29 +0000 (00:12 +0000)]
Auto merge of #9288 - lukaslueg:partialeqnone, r=Jarcho

Add partialeq_to_none lint

Initial implementation of #9275, adding lint `partialeq_to_none`. This is my first time working on `clippy`, so please review carefully.

I'm unsure especially about the `Sugg`, as it covers the entire `BinOp`, instead of just covering one of the sides and the operator (see the multi-line example). I was unsure if pinpointing the suggestion wouldn't be brittle...

changelog: [`PARTIALEQ_TO_NONE`]: Initial commit

23 months agoRename new lints to iter_on_empty_collections and iter_on_single_items
Sosthène Guédon [Sat, 30 Jul 2022 11:39:55 +0000 (13:39 +0200)]
Rename new lints to iter_on_empty_collections and iter_on_single_items

23 months agoPrevent some false positives
Sosthène Guédon [Thu, 28 Jul 2022 20:54:23 +0000 (22:54 +0200)]
Prevent some false positives

23 months agoImprove suggestions
Sosthène Guédon [Tue, 19 Jul 2022 20:08:03 +0000 (22:08 +0200)]
Improve suggestions

23 months agoMove iter_once and iter_empty to methods as a late pass
Sosthène Guédon [Sat, 16 Jul 2022 21:07:06 +0000 (23:07 +0200)]
Move iter_once and iter_empty to methods as a late pass

This enables more thorough checking of types to avoid triggering on
custom Some and None enum variants

23 months agoFix the lint in clippy itself
Sosthène Guédon [Sat, 16 Jul 2022 10:44:33 +0000 (12:44 +0200)]
Fix the lint in clippy itself

23 months agoAdd iter_once and iter_empty lints
Sosthène Guédon [Sat, 16 Jul 2022 08:22:43 +0000 (10:22 +0200)]
Add iter_once and iter_empty lints

23 months agoAdd partialeq_to_none lint
Lukas Lueg [Wed, 3 Aug 2022 20:13:06 +0000 (22:13 +0200)]
Add partialeq_to_none lint

Fixes #9275

23 months agoAuto merge of #9306 - guerinoni:rename-logic-bug, r=llogiq,xFrednet
bors [Mon, 8 Aug 2022 17:04:06 +0000 (17:04 +0000)]
Auto merge of #9306 - guerinoni:rename-logic-bug, r=llogiq,xFrednet

Rename `logic_bug` to `overly_complex_bool_expr`

Closes #1916

changelog: Rename `logic_bug` to [`overly_complex_bool_expr`]

23 months agoRename `logic_bug` to `overly_complex_bool_expr`
Federico Guerinoni [Mon, 8 Aug 2022 16:12:24 +0000 (18:12 +0200)]
Rename `logic_bug` to `overly_complex_bool_expr`

Closes #1916

23 months agoAuto merge of #9126 - Jarcho:auto_deref_sugg, r=Manishearth
bors [Mon, 8 Aug 2022 15:20:24 +0000 (15:20 +0000)]
Auto merge of #9126 - Jarcho:auto_deref_sugg, r=Manishearth

`explicit_auto_deref` changes

fixes #9123
fixes #9109
fixes #9143
fixes #9101

This avoid suggesting code which hits a rustc bug. Basically `&{x}` won't use auto-deref if the target type is `Sized`.

changelog: Don't suggest using auto deref for block expressions when the target type is `Sized`
changelog: Include the borrow in the suggestion for `explicit_auto_deref`
changelog: Don't lint `explicit_auto_deref` on `dyn Trait` return
changelog: Don't lint `explicit_auto_deref` when other adjustments are required
changelog: Lint `explicit_auto_deref` in implicit return positions for closures

23 months agoLint `explicit_auto_deref` in implicit return positions for closures
Jason Newcomb [Mon, 8 Aug 2022 14:25:05 +0000 (10:25 -0400)]
Lint `explicit_auto_deref` in implicit return positions for closures

23 months agoFix ICE when checking the HIR ty of closure args.
Jason Newcomb [Mon, 8 Aug 2022 14:09:05 +0000 (10:09 -0400)]
Fix ICE when checking the HIR ty of closure args.

23 months agoAuto merge of #9303 - Jarcho:ice_9297, r=Alexendoo
bors [Mon, 8 Aug 2022 11:36:27 +0000 (11:36 +0000)]
Auto merge of #9303 - Jarcho:ice_9297, r=Alexendoo

Fix ICE when reading literals with weird proc-macro spans

fixes #9297
changelog: Fix ICE when reading literals with weird proc-macro spans

23 months agoAuto merge of #8694 - Jarcho:check_proc_macro, r=xFrednet
bors [Mon, 8 Aug 2022 09:27:33 +0000 (09:27 +0000)]
Auto merge of #8694 - Jarcho:check_proc_macro, r=xFrednet

More proc-macro detection

fixes #6514
fixes #8683
fixes #6858
fixes #6594

This is a more general way of checking if an expression comes from a macro and could be trivially applied to other lints. Ideally this would be fixed in rustc's proc-macro api, but I don't see that happening any time soon.

changelog: FPs: [`unit_arg`] [`default_trait_access`] [`missing_docs_in_private_items`]: No longer trigger in code generated from proc-macros.