]> git.lizzy.rs Git - rust.git/log
rust.git
2 years 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

2 years 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()`

2 years 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

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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`.

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

2 years 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

2 years 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:.

2 years 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

2 years 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

2 years 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.

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

2 years 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

2 years 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

2 years 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.

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

2 years 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

2 years 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

2 years 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

2 years 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>
2 years 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

2 years 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>
2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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

2 years 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

2 years 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)

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

2 years 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`

2 years 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.

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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`]

2 years 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

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

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

2 years 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`

2 years 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

2 years 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

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

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

2 years 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

2 years 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

2 years 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

2 years 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

2 years 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`]

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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

2 years 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.

2 years agoAuto merge of #9302 - Jarcho:sig_drop_nursery, r=flip1995
bors [Mon, 8 Aug 2022 08:28:06 +0000 (08:28 +0000)]
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`

2 years agoFix ICE when reading literals with weird proc-macro spans
Jason Newcomb [Mon, 8 Aug 2022 02:22:17 +0000 (22:22 -0400)]
Fix ICE when reading literals with weird proc-macro spans

2 years agoSmall cleanup for `check_proc_macro.rs`
Jason Newcomb [Mon, 8 Aug 2022 01:44:32 +0000 (21:44 -0400)]
Small cleanup for `check_proc_macro.rs`

2 years agoAdd note to the docs on `is_from_proc_macro`
Jason Newcomb [Sun, 24 Apr 2022 14:04:33 +0000 (10:04 -0400)]
Add note to the docs on `is_from_proc_macro`

2 years agoDon't lint `default_trait_access` in proc-macro expansions
Jason Newcomb [Wed, 13 Apr 2022 14:13:39 +0000 (10:13 -0400)]
Don't lint `default_trait_access` in proc-macro expansions

2 years agoDon't lint `missing_docs_in_private_items` on proc-macro output
Jason Newcomb [Wed, 13 Apr 2022 13:23:12 +0000 (09:23 -0400)]
Don't lint `missing_docs_in_private_items` on proc-macro output

2 years agoUse new util function in `suspicious_else_formatting`
Jason Newcomb [Wed, 13 Apr 2022 05:13:47 +0000 (01:13 -0400)]
Use new util function in `suspicious_else_formatting`

2 years agoDon't lint `unit_arg` when expanded from a proc-macro
Jason Newcomb [Wed, 13 Apr 2022 04:36:13 +0000 (00:36 -0400)]
Don't lint `unit_arg` when expanded from a proc-macro

2 years agoMove `significant_drop_in_scrutinee` into `nursey`
Jason Newcomb [Mon, 8 Aug 2022 01:01:27 +0000 (21:01 -0400)]
Move `significant_drop_in_scrutinee` into `nursey`

2 years agoAllow type erasure using `*const/mut int_type` in `transmute_undefined_repr`
Jason Newcomb [Sun, 7 Aug 2022 21:47:24 +0000 (17:47 -0400)]
Allow type erasure using `*const/mut int_type` in `transmute_undefined_repr`

2 years agoAuto merge of #99743 - compiler-errors:fulfillment-context-cleanups, r=jackh726
bors [Sat, 6 Aug 2022 06:48:15 +0000 (06:48 +0000)]
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

2 years agoAuto merge of #9294 - alex-semenyuk:enable_def_id_nocore_on_windows, r=xFrednet
bors [Fri, 5 Aug 2022 21:08:19 +0000 (21:08 +0000)]
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

2 years agoEnable test for def_id_nocore for windows
alex-semenyuk [Fri, 5 Aug 2022 20:24:50 +0000 (23:24 +0300)]
Enable test for def_id_nocore for windows

2 years agoAuto merge of #9292 - alex-semenyuk:typos_fixed, r=Alexendoo
bors [Fri, 5 Aug 2022 09:19:07 +0000 (09:19 +0000)]
Auto merge of #9292 - alex-semenyuk:typos_fixed, r=Alexendoo

Fix some typos

changelog: none

2 years agoFix some typos
alex-semenyuk [Thu, 4 Aug 2022 21:59:21 +0000 (00:59 +0300)]
Fix some typos

2 years agoAuto merge of #9266 - alex-semenyuk:cast_abs_to_unsigned_paren_fix, r=Jarcho
bors [Thu, 4 Aug 2022 18:45:32 +0000 (18:45 +0000)]
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

2 years agoFix cast_abs_to_unsigned generates non-compiling code when original code is in parens
alex-semenyuk [Sat, 30 Jul 2022 14:21:37 +0000 (17:21 +0300)]
Fix cast_abs_to_unsigned generates non-compiling code when original code is in parens

2 years agoFix some typos
alex-semenyuk [Thu, 4 Aug 2022 16:53:07 +0000 (19:53 +0300)]
Fix some typos

2 years agoAdd `traits::fully_solve_obligation` that acts like `traits::fully_normalize`
Michael Goulet [Tue, 2 Aug 2022 06:02:04 +0000 (06:02 +0000)]
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

2 years agoExtend `if_then_some_else_none` to also suggest `bool::then_some`
Michael Krasnitski [Thu, 4 Aug 2022 03:06:12 +0000 (23:06 -0400)]
Extend `if_then_some_else_none` to also suggest `bool::then_some`

2 years agoDon't lint `transmute_undefined_repr` when the the first field of a `repr(C)` type...
Jason Newcomb [Wed, 3 Aug 2022 17:16:04 +0000 (13:16 -0400)]
Don't lint `transmute_undefined_repr` when the the first field of a `repr(C)` type is compatible with the other type

2 years agoAuto merge of #9284 - lengyijun:typo, r=dswij
bors [Wed, 3 Aug 2022 10:33:45 +0000 (10:33 +0000)]
Auto merge of #9284 - lengyijun:typo, r=dswij

fix typo in tests/ui/redundant_allocation.rs

changelog: none

2 years agoWarn about dead tuple struct fields
Fabian Wolff [Mon, 25 Jul 2022 20:36:03 +0000 (22:36 +0200)]
Warn about dead tuple struct fields

2 years agoAuto merge of #9282 - macovedj:clone-on-copy-try-precedence, r=flip1995
bors [Wed, 3 Aug 2022 07:37:43 +0000 (07:37 +0000)]
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

2 years agofix typo in tests/ui/redundant_allocation.rs
lengyijun [Wed, 3 Aug 2022 03:56:59 +0000 (03:56 +0000)]
fix typo in tests/ui/redundant_allocation.rs

2 years agoclean up
Daniel Macovei [Tue, 2 Aug 2022 17:06:22 +0000 (12:06 -0500)]
clean up

2 years agoadd paren before '?' when suggesting deref
Daniel Macovei [Tue, 2 Aug 2022 15:39:35 +0000 (10:39 -0500)]
add paren before '?' when suggesting deref

2 years agoRollup merge of #100053 - flip1995:clippy_backport, r=xFrednet
Matthias Krüger [Tue, 2 Aug 2022 15:17:36 +0000 (17:17 +0200)]
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

2 years agoRollup merge of #99987 - Alexendoo:parse-format-position-span, r=fee1-dead
Matthias Krüger [Tue, 2 Aug 2022 15:17:30 +0000 (17:17 +0200)]
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

2 years agoAuto merge of #9053 - AaronC81:fix-9052, r=flip1995
bors [Tue, 2 Aug 2022 12:39:37 +0000 (12:39 +0000)]
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

2 years agoAdd extra test cases from #8771, #8757, #9076.
Allen Hsu [Wed, 13 Jul 2022 11:39:52 +0000 (21:39 +1000)]
Add extra test cases from #8771, #8757, #9076.

2 years agoSplit unfixable lints.
Allen Hsu [Wed, 13 Jul 2022 11:25:19 +0000 (21:25 +1000)]
Split unfixable lints.

2 years agoCompare where predicates to trait bounds.
Allen Hsu [Tue, 12 Jul 2022 12:29:12 +0000 (22:29 +1000)]
Compare where predicates to trait bounds.

- only compare where predicates to trait bounds when generating where
  clause specific message to fix #9151
- use comparable_trait_ref to account for trait bound generics to fix #8757