Commit Graph

14753 Commits

Author SHA1 Message Date
Serial bd121eff8a Fix [non_ascii_literal] in tests 2022-08-16 15:53:01 -04:00
bors dfa780e0ef 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)
2022-08-12 21:11:33 +00:00
flip1995 35486cb661 Update Changelog to 1.63 2022-08-12 23:10:23 +02:00
bors 05fc1c7dbc 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`
2022-08-12 06:25:59 +00:00
Michael Krasnitski f7f60b82e8 Adjust lint description for better clarity 2022-08-11 22:41:25 -04:00
bors 2b2190cb56 Auto merge of #9323 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2022-08-11 17:28:47 +00:00
Philipp Krones 280b527821 Bump Clippy version -> 0.1.65 2022-08-11 19:26:38 +02:00
Philipp Krones eda0b001e8 Bump nightly version -> 2022-08-11 2022-08-11 19:26:26 +02:00
Philipp Krones 879855bbaf Merge remote-tracking branch 'upstream/master' into rustup 2022-08-11 19:26:04 +02:00
bors f7e2cb4470 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
2022-08-09 03:44:21 +00:00
dAxpeDDa fd60581628 Address review take 2 2022-08-09 05:14:03 +02:00
dAxpeDDa 6f5d64842b Address review 2022-08-09 04:56:04 +02:00
dAxpeDDa 8d4f2ac381 Use check_proc_macro for missing_const_for_fn 2022-08-09 03:41:59 +02:00
bors 3af9072bc6 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
2022-08-09 00:12:29 +00:00
Lukas Lueg 657b0da912 Add partialeq_to_none lint
Fixes #9275
2022-08-08 20:17:13 +02:00
bors 8f390610a5 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`]
2022-08-08 17:04:06 +00:00
Federico Guerinoni f6cab94bd0 Rename logic_bug to overly_complex_bool_expr
Closes #1916
2022-08-08 18:38:39 +02:00
bors 4912c0ece4 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
2022-08-08 15:20:24 +00:00
Jason Newcomb ecb51fe6a5 Lint explicit_auto_deref in implicit return positions for closures 2022-08-08 10:25:05 -04:00
Jason Newcomb 5285928bc0 Fix ICE when checking the HIR ty of closure args. 2022-08-08 10:09:05 -04:00
bors 0ee702514e 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
2022-08-08 11:36:27 +00:00
bors 10853f71f2 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.
2022-08-08 09:27:33 +00:00
bors 97a0cf2de2 Auto merge of #9302 - Jarcho:sig_drop_nursery, r=flip1995
Move `significant_drop_in_scrutinee` into `nursey`

The current suggestion of extending the lifetime of every sub-expression is not great and doesn't fix the error given in the lint's example, though it does make the potential deadlock easier to see, but it can also cause it's own issues by delaying the drop of the lock guard.

e.g.
```rust
match x.lock().foo {
    ..
}
// some stuff
let y = x.lock();
```
The suggestion would create a deadlock at the second `x.lock()` call.

This also lints even when a significant drop type isn't created as a temporary. (#9072)

I agree `@kpreid` (https://github.com/rust-lang/rust-clippy/issues/8987#issuecomment-1207464440) that this should be back-ported before the lint hits stable.

changelog: Move `significant_drop_in_scrutinee` into `nursey`
2022-08-08 08:28:06 +00:00
Jason Newcomb 99abd4a9f6 Fix ICE when reading literals with weird proc-macro spans 2022-08-07 22:22:17 -04:00
Jason Newcomb 745b194292 Small cleanup for check_proc_macro.rs 2022-08-07 21:55:10 -04:00
Jason Newcomb 8dda974a27 Add note to the docs on is_from_proc_macro 2022-08-07 21:55:10 -04:00
Jason Newcomb 670efd5720 Don't lint default_trait_access in proc-macro expansions 2022-08-07 21:55:08 -04:00
Jason Newcomb 4ae582ef88 Don't lint missing_docs_in_private_items on proc-macro output 2022-08-07 21:53:51 -04:00
Jason Newcomb 37e838f759 Use new util function in suspicious_else_formatting 2022-08-07 21:52:27 -04:00
Jason Newcomb 2ae8b300a7 Don't lint unit_arg when expanded from a proc-macro 2022-08-07 21:52:25 -04:00
Jason Newcomb aa0b0af3ba Move significant_drop_in_scrutinee into nursey 2022-08-07 21:01:27 -04:00
bors f719599c0f Auto merge of #99743 - compiler-errors:fulfillment-context-cleanups, r=jackh726
Some `FulfillmentContext`-related cleanups

Use `ObligationCtxt` in some places, remove some `FulfillmentContext`s in others...

r? types
2022-08-06 06:48:15 +00:00
bors 5721ca9a13 Auto merge of #9294 - alex-semenyuk:enable_def_id_nocore_on_windows, r=xFrednet
Enable test for def_id_nocore for windows

Verified that it actully works on windows
changelog: none
2022-08-05 21:08:19 +00:00
alex-semenyuk 1e1193f4fa Enable test for def_id_nocore for windows 2022-08-05 23:24:50 +03:00
bors 57731f1dd7 Auto merge of #9292 - alex-semenyuk:typos_fixed, r=Alexendoo
Fix some typos

changelog: none
2022-08-05 09:19:07 +00:00
alex-semenyuk f63b324ab1 Fix some typos 2022-08-05 00:59:21 +03:00
bors 2dc7d2f7f5 Auto merge of #9266 - alex-semenyuk:cast_abs_to_unsigned_paren_fix, r=Jarcho
Fix cast_abs_to_unsigned with code in parens

Close #9185
changelog: none
2022-08-04 18:45:32 +00:00
alex-semenyuk 0e1d65850a Fix cast_abs_to_unsigned generates non-compiling code when original code is in parens 2022-08-04 21:30:50 +03:00
alex-semenyuk 7062a013e7 Fix some typos 2022-08-04 19:53:07 +03:00
Michael Goulet ccbc96508a Add traits::fully_solve_obligation that acts like traits::fully_normalize
It spawns up a trait engine, registers the single obligation, then fully
solves it
2022-08-04 13:50:56 +00:00
Michael Krasnitski 80f0f280df Extend if_then_some_else_none to also suggest bool::then_some 2022-08-03 23:18:59 -04:00
bors 71777465cc Auto merge of #9284 - lengyijun:typo, r=dswij
fix typo in tests/ui/redundant_allocation.rs

changelog: none
2022-08-03 10:33:45 +00:00
Fabian Wolff f232402057 Warn about dead tuple struct fields 2022-08-03 12:17:23 +02:00
bors 5dc90a1b6d Auto merge of #9282 - macovedj:clone-on-copy-try-precedence, r=flip1995
add paren before '?' when suggesting deref for clone_on_copy

changelog: none

fixes #9277
2022-08-03 07:37:43 +00:00
lengyijun b50ba06a83 fix typo in tests/ui/redundant_allocation.rs 2022-08-03 04:57:36 +00:00
Daniel Macovei 503c03c558 clean up 2022-08-02 12:06:22 -05:00
Daniel Macovei 145ebb1cd7 add paren before '?' when suggesting deref 2022-08-02 10:39:35 -05:00
Matthias Krüger 7aaeee734f Rollup merge of #100053 - flip1995:clippy_backport, r=xFrednet
move [`assertions_on_result_states`] to restriction

"Backports" the first commit of https://github.com/rust-lang/rust-clippy/pull/9273, so that the lint doesn't go into beta as a warn-by-default lint.

The other changes in the linked PR can ride the train as usual.

r? ``@xFrednet`` (only Clippy changes, so we don't need to bother compiler people)

---

For Clippy:

changelog: none
2022-08-02 17:17:36 +02:00
Matthias Krüger 4546f5d1dc Rollup merge of #99987 - Alexendoo:parse-format-position-span, r=fee1-dead
Always include a position span in `rustc_parse_format::Argument`

Moves the spans from the `Position` enum to always be included in the `Argument` struct. Doesn't make any changes to use it in rustc, but it will be useful for some upcoming Clippy lints
2022-08-02 17:17:30 +02:00
bors 05e7d5481b Auto merge of #9053 - AaronC81:fix-9052, r=flip1995
Fix suggestions for `async` closures in redundant_closure_call

Fixes #9052

changelog: Fix suggestions given by [`redundant_closure_call`] for async closures
2022-08-02 12:39:37 +00:00