]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoFix `as_deref_mut` false positives in `needless_option_as_deref`
Alex Macleod [Wed, 6 Apr 2022 14:35:49 +0000 (15:35 +0100)]
Fix `as_deref_mut` false positives in `needless_option_as_deref`

Also moves the lint to the methods directory

2 years agoAuto merge of #8606 - InfRandomness:err()-expect()-lint, r=xFrednet
bors [Wed, 6 Apr 2022 18:07:56 +0000 (18:07 +0000)]
Auto merge of #8606 - InfRandomness:err()-expect()-lint, r=xFrednet

Add [`err_expect`] lint

[`expect_err`] lint

- \[ ] 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`

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

changelog: Added a lint to detect usage of .err().expect()

2 years agoFix mistakes in documentation :
infrandomness [Wed, 6 Apr 2022 17:24:49 +0000 (19:24 +0200)]
Fix mistakes in documentation :

- err() was meant to be employed instead of ok()
- wraps comment

2 years agoAdd .err().expect() lint
InfRandomness [Tue, 29 Mar 2022 17:19:16 +0000 (19:19 +0200)]
Add .err().expect() lint

2 years agoAuto merge of #8549 - J-ZhengLi:issue8542, r=llogiq
bors [Wed, 6 Apr 2022 17:23:14 +0000 (17:23 +0000)]
Auto merge of #8549 - J-ZhengLi:issue8542, r=llogiq

fix FP in lint `[needless_match]`

fixes: #8542
fixes: #8551
fixes: #8595
fixes: #8599

---

changelog: check for more complex custom type, and ignore type coercion in [`needless_match`]

2 years agoAuto merge of #8644 - yoav-lavi:squashed-master, r=flip1995
bors [Wed, 6 Apr 2022 15:13:43 +0000 (15:13 +0000)]
Auto merge of #8644 - yoav-lavi:squashed-master, r=flip1995

update unnecessary_join documentation

changelog: none

Updates the description of `unnecessary_join` in accordance with https://github.com/rust-lang/rust-clippy/pull/8579#issuecomment-1089969859. I've also added a line regarding differences in assembly output, please let me know if it should also make it in.

2 years agoupdate unnecessary_join documentation
Yoav Lavi [Wed, 6 Apr 2022 13:59:38 +0000 (15:59 +0200)]
update unnecessary_join documentation

2 years agocode refractor for `[needless_match]`
J-ZhengLi [Wed, 6 Apr 2022 12:44:54 +0000 (20:44 +0800)]
code refractor for `[needless_match]`

2 years agoAuto merge of #8612 - SabrinaJewson:suggest-from-utf8-unchecked-in-const, r=flip1995
bors [Wed, 6 Apr 2022 09:32:51 +0000 (09:32 +0000)]
Auto merge of #8612 - SabrinaJewson:suggest-from-utf8-unchecked-in-const, r=flip1995

Suggest from_utf8_unchecked in const contexts

Unfortunately I couldn't figure out how to check whether a given expression is in an `unsafe` context or not, so I just unconditionally emit the wrapping `unsafe {}` block in the suggestion. If there is an easy way to get it to work better then I would love to hear it.

changelog: Suggest `from_utf8_unchecked` instead of `from_utf8` in const contexts for ``[`transmute_bytes_to_str`]``

refs: #8379

2 years agoReport `from_utf8` suggestion as maybe incorrect
Sabrina Jewson [Wed, 6 Apr 2022 09:14:20 +0000 (10:14 +0100)]
Report `from_utf8` suggestion as maybe incorrect

Co-authored-by: Philipp Krones <hello@philkrones.com>
2 years agoAuto merge of #8596 - Jaic1:unnecessary_cast, r=flip1995
bors [Wed, 6 Apr 2022 08:27:03 +0000 (08:27 +0000)]
Auto merge of #8596 - Jaic1:unnecessary_cast, r=flip1995

Fix unnecessary_cast suggestion for type aliasses

Fix #6923. The [`unnecessary_cast`] lint now will skip casting to non-primitive type.

changelog: fix lint [`unnecessary_cast `]

2 years agoAuto merge of #8588 - pitaj:fix-8348, r=flip1995
bors [Wed, 6 Apr 2022 08:13:26 +0000 (08:13 +0000)]
Auto merge of #8588 - pitaj:fix-8348, r=flip1995

`indexing_slicing` should not fire if a valid array index comes from a constant function that is evaluated at compile-time

fix #8348

changelog: [`indexing_slicing`] fewer false positives in `const` contexts and with `const` indices

2 years agoAuto merge of #8636 - flip1995:release_changelog_quick_update, r=xFrednet
bors [Tue, 5 Apr 2022 13:03:16 +0000 (13:03 +0000)]
Auto merge of #8636 - flip1995:release_changelog_quick_update, r=xFrednet

Add documentation on how to do a minimal changelog update

This ensures that the link to the Clippy version in the Rust release
blog post works correctly. The additional `(beta)` behind the previous
beta version breaks that link otherwise.

[Rendered](https://github.com/flip1995/rust-clippy/blob/release_changelog_quick_update/doc/release.md)

changelog: none

2 years agoAuto merge of #8403 - nerdypepper:fix/diagnostic-message-mispelling, r=flip1995,Manis...
bors [Tue, 5 Apr 2022 10:07:13 +0000 (10:07 +0000)]
Auto merge of #8403 - nerdypepper:fix/diagnostic-message-mispelling, r=flip1995,Manishearth

fix misspelling in diagnostic message of `bytes_nth`

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

changelog: fix misspelling in diagnostic message in ``[`bytes_nth`]``

2 years agofix mispelling in diagnostic message of bytes_nth
Akshay [Tue, 8 Feb 2022 11:21:02 +0000 (16:51 +0530)]
fix mispelling in diagnostic message of bytes_nth

2 years agoAuto merge of #8620 - Alexendoo:test-fmt-first, r=flip1995
bors [Tue, 5 Apr 2022 09:50:53 +0000 (09:50 +0000)]
Auto merge of #8620 - Alexendoo:test-fmt-first, r=flip1995

Run fmt test before compile-test/dogfood

I seem to always forget to run `cargo dev fmt` before doing a test. This lets it fail fast rather than going through the much longer compile-test/dogfood tests first

changelog: none

2 years agoAuto merge of #8607 - Alexendoo:cargo-dev-lint-dir, r=flip1995,giraffate
bors [Tue, 5 Apr 2022 09:33:38 +0000 (09:33 +0000)]
Auto merge of #8607 - Alexendoo:cargo-dev-lint-dir, r=flip1995,giraffate

Allow running `cargo dev lint` on a package directory

Allows you run the local clippy in a specified directory, e.g. allowing

```sh
# Lint a ui-cargo test
cargo dev lint tests/ui-cargo/wildcard_dependencies/fail

# Lint some other project
cargo dev lint ~/my-project
```

The `target` directory is set to a tempdir which isn't ideal for medium/large projects as it would be compiled from scratch. This is to avoid cached clippy messages where you `cargo dev lint dir`, change something in clippy, and run `cargo dev lint dir` again

changelog: Dev: `cargo dev lint` can now be run on a package directory

2 years agoAdd documentation on how to do a minimal changelog update
flip1995 [Tue, 5 Apr 2022 09:24:32 +0000 (10:24 +0100)]
Add documentation on how to do a minimal changelog update

This ensures that the link to the Clippy version in the Rust release
blog post works correctly. The additional `(beta)` behind the previous
beta version breaks that link otherwise.

2 years agoAuto merge of #8633 - xFrednet:8627-escape-mod-rs, r=Manishearth
bors [Mon, 4 Apr 2022 20:35:44 +0000 (20:35 +0000)]
Auto merge of #8633 - xFrednet:8627-escape-mod-rs, r=Manishearth

Escape `mod.rs` file mentions to avoid links in our documentation

As the title says nothing special, still a fun fix :)

Closes: #8627
changelog: none

2 years agoEscape `mod.rs` file mentions to avoid links in our documentation
xFrednet [Mon, 4 Apr 2022 19:06:53 +0000 (21:06 +0200)]
Escape `mod.rs` file mentions to avoid links in our documentation

We can read them if they want to start sponsoring us xD

2 years agoAuto merge of #8632 - Jarcho:cast_ptr_alignment, r=llogiq
bors [Mon, 4 Apr 2022 18:47:27 +0000 (18:47 +0000)]
Auto merge of #8632 - Jarcho:cast_ptr_alignment, r=llogiq

Don't lint `cast_ptr_alignment` when used for unaligned reads and writes

fixes #2881

Ideally this would trace the usage of the value rather than only looking at the parent expression, but that would require dataflow analysis. e.g.
```rust
let x = ptr as *const u16;
c.read_unaligned(x);
```

Arch specific intrinsic functions need to be checked for ones which could take an unaligned pointer. This can be another PR.

changelog: Don't lint `cast_ptr_alignment` when used for unaligned reads and writes

2 years agoDon't lint `cast_ptr_alignment` when used for unaligned reads and writes
Jason Newcomb [Mon, 4 Apr 2022 17:54:52 +0000 (13:54 -0400)]
Don't lint `cast_ptr_alignment` when used for unaligned reads and writes

2 years agoAuto merge of #8450 - Jarcho:unsafe_blocks_8449, r=giraffate
bors [Mon, 4 Apr 2022 13:07:26 +0000 (13:07 +0000)]
Auto merge of #8450 - Jarcho:unsafe_blocks_8449, r=giraffate

Rework `undocumented_unsafe_blocks`

fixes: #8264
fixes: #8449

One thing came up while working on this. Currently comments on the same line are supported like so:

```rust
/* SAFETY: reason */ unsafe {}
```

Is this worth supporting at all? Anything other than a couple of words doesn't really fit well.

edit: [zulip topic](https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/.60undocumented_unsafe_blocks.60.20same.20line.20comment)

changelog: Don't lint `undocumented_unsafe_blocks` when the unsafe block comes from a proc-macro.
changelog: Don't lint `undocumented_unsafe_blocks` when the preceding line has a safety comment and the unsafe block is a sub-expression.

2 years agoAuto merge of #8594 - FoseFx:unit_like_struct_brackets, r=giraffate
bors [Mon, 4 Apr 2022 07:28:36 +0000 (07:28 +0000)]
Auto merge of #8594 - FoseFx:unit_like_struct_brackets, r=giraffate

add `empty_structs_with_brackets`

<!-- Thank you for making Clippy better!

We're collecting our changelog from pull request descriptions.
If your PR only includes internal changes, you can just write
`changelog: none`. Otherwise, please write a short comment
explaining your change. Also, it's helpful for us that
the lint name is put into brackets `[]` and backticks `` ` ` ``,
e.g. ``[`lint_name`]``.

If your PR fixes an issue, you can add "fixes #issue_number" into this
PR description. This way the issue will be automatically closed when
your PR is merged.

If you added a new lint, here's a checklist for things that will be
checked during review or continuous integration.

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

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

Note that you can skip the above if you are just opening a WIP PR in
order to get feedback.

Delete this line and everything above before opening your PR.

--

*Please write a short comment explaining your change (or "none" for internal only changes)*
-->
Closes #8591

I'm already sorry for the massive diff :sweat_smile:

changelog: New lint [`empty_structs_with_brackets`]

2 years agois_unit_like_struct -> has_brackets
Max Baumann [Mon, 4 Apr 2022 06:48:49 +0000 (08:48 +0200)]
is_unit_like_struct -> has_brackets

2 years agoRun fmt test before compile-test/dogfood
Alex Macleod [Sat, 2 Apr 2022 11:34:06 +0000 (12:34 +0100)]
Run fmt test before compile-test/dogfood

2 years agoAuto merge of #8605 - Jarcho:remove-deps, r=xFrednet
bors [Sat, 2 Apr 2022 10:42:12 +0000 (10:42 +0000)]
Auto merge of #8605 - Jarcho:remove-deps, r=xFrednet

Remove deps

This remove both `regex` and `cargo_metadata` as dependencies making `clippy_dev` compile ~3x faster (~46s -> ~16s locally). `cargo_metadata` was used to extract the `version` field from `Cargo.toml`, which is done trivially without that. `regex` was used to parse `define_clippy_lint` in `update_lints` which is now done using `rustc_lexer`. This isn't any simpler, but it compiles ~15s faster and runs ~3x faster (~2.1s -> ~0.7s locally).

The next biggest offenders to compile times are `clap` and `winapi` on windows. `clap` could be removed, but re-implementing enough is probably more work than it's worth. `winapi` is used by `opener` and `walkdir` so it's stuck there.

changelog: none

2 years agoAuto merge of #8611 - Alexendoo:module-files-relative-paths, r=llogiq
bors [Sat, 2 Apr 2022 07:06:03 +0000 (07:06 +0000)]
Auto merge of #8611 - Alexendoo:module-files-relative-paths, r=llogiq

Handle relative paths in module_files lints

The problem being that when clippy is run in the project's directory `lp` would be a relative path, this wasn't caught by the tests as there `lp` is an absolute path. Being a relative path it did not start with `trim_src_path` and so was ignored

Also allowed the removal of some `.to_os_string`/`.to_owned`s

changelog: Fixes [`self_named_module_files`] and [`mod_module_files`] not linting

Fixes #8123, cc `@DevinR528`

2 years agoAdd a couple of examples to `undocumented_unsafe_blocks`
Jason Newcomb [Sat, 2 Apr 2022 04:46:45 +0000 (00:46 -0400)]
Add a couple of examples to `undocumented_unsafe_blocks`

2 years agoRemove cargo_metadata dependency from clippy
Jason Newcomb [Tue, 29 Mar 2022 12:57:02 +0000 (08:57 -0400)]
Remove cargo_metadata dependency from clippy

2 years agoRemove cargo_metadata dependency from clippy_dev
Jason Newcomb [Tue, 29 Mar 2022 12:32:12 +0000 (08:32 -0400)]
Remove cargo_metadata dependency from clippy_dev

2 years agoRemove regex dependency from clippy_dev
Jason Newcomb [Tue, 29 Mar 2022 02:08:04 +0000 (22:08 -0400)]
Remove regex dependency from clippy_dev

2 years agoAuto merge of #8616 - pitaj:single_element_loop_arrays, r=llogiq
bors [Fri, 1 Apr 2022 18:45:49 +0000 (18:45 +0000)]
Auto merge of #8616 - pitaj:single_element_loop_arrays, r=llogiq

single_element_loop: handle arrays for Edition2021

changelog: [`single_element_loop`] handle arrays in Edition 2021, handle `.iter_mut()` and `.into_iter()`, and wrap in parens if necessary

2 years agosingle_element_loop: handle arrays for Edition2021
Peter Jaszkowiak [Fri, 1 Apr 2022 06:04:19 +0000 (00:04 -0600)]
single_element_loop: handle arrays for Edition2021

also handle `.iter_mut()`, `.into_iter()`,
and wrapping in parens if necessary

2 years agoDon't unnecessarily suggest unsafe block
SabrinaJewson [Fri, 1 Apr 2022 05:32:22 +0000 (06:32 +0100)]
Don't unnecessarily suggest unsafe block

2 years agoSuggest from_utf8_unchecked in const contexts
SabrinaJewson [Wed, 30 Mar 2022 18:31:50 +0000 (19:31 +0100)]
Suggest from_utf8_unchecked in const contexts

2 years agoAuto merge of #8610 - SabrinaJewson:transmute-int-to-char-const, r=xFrednet
bors [Wed, 30 Mar 2022 20:23:03 +0000 (20:23 +0000)]
Auto merge of #8610 - SabrinaJewson:transmute-int-to-char-const, r=xFrednet

Don't warn int-to-char transmutes in const contexts

changelog: Don't warn ``[`transmute_int_to_char`]`` in const contexts

fixes: #8379

2 years agopedantic -> restriction
Max Baumann [Wed, 30 Mar 2022 11:33:10 +0000 (13:33 +0200)]
pedantic -> restriction

2 years agoupdate description
Max Baumann [Wed, 30 Mar 2022 11:08:39 +0000 (13:08 +0200)]
update description

Co-authored-by: giraffate <f.seasons017@gmail.com>
2 years agostyle -> pedantic
Max Baumann [Mon, 28 Mar 2022 09:45:06 +0000 (11:45 +0200)]
style -> pedantic

2 years agounit_like_struct_brackets -> empty_structs_with_brackets
Max Baumann [Mon, 28 Mar 2022 09:35:43 +0000 (11:35 +0200)]
unit_like_struct_brackets -> empty_structs_with_brackets

2 years agochanges after review
Max Baumann [Mon, 28 Mar 2022 09:18:20 +0000 (11:18 +0200)]
changes after review

2 years agouse span_suggestion_hidden
Max Baumann [Sun, 27 Mar 2022 18:10:10 +0000 (20:10 +0200)]
use span_suggestion_hidden

2 years agoadditional checks for conditionally compiled code
Max Baumann [Sun, 27 Mar 2022 17:58:23 +0000 (19:58 +0200)]
additional checks for conditionally compiled code

2 years agofix godfood test
Max Baumann [Sun, 27 Mar 2022 13:33:31 +0000 (15:33 +0200)]
fix godfood test

2 years agofix uitests
Max Baumann [Sun, 27 Mar 2022 13:26:36 +0000 (15:26 +0200)]
fix uitests

2 years agofix existing clippy tests
Max Baumann [Sun, 27 Mar 2022 12:41:09 +0000 (14:41 +0200)]
fix existing clippy tests

2 years agoadd unit_like_struct_brackets
Max Baumann [Sun, 27 Mar 2022 12:16:08 +0000 (14:16 +0200)]
add unit_like_struct_brackets

2 years agoDon't warn int-to-char transmutes in const contexts
SabrinaJewson [Wed, 30 Mar 2022 17:47:50 +0000 (18:47 +0100)]
Don't warn int-to-char transmutes in const contexts

2 years agoHandle relative paths in module_files lints
Alex Macleod [Wed, 30 Mar 2022 17:44:04 +0000 (18:44 +0100)]
Handle relative paths in module_files lints

2 years agoAuto merge of #8602 - giraffate:fix_ice_for_iter_overeager_cloned, r=llogiq
bors [Wed, 30 Mar 2022 17:12:24 +0000 (17:12 +0000)]
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`]

2 years agoAuto merge of #8576 - smoelius:crate_in_macro_def, r=llogiq
bors [Wed, 30 Mar 2022 16:57:24 +0000 (16:57 +0000)]
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`

2 years agoFix error message in crate_in_macro_def.stderr
Samuel E. Moelius III [Wed, 30 Mar 2022 16:52:31 +0000 (12:52 -0400)]
Fix error message in crate_in_macro_def.stderr

2 years agoMove `crate_in_macro_def` to suspicious
Samuel E. Moelius III [Wed, 30 Mar 2022 16:32:07 +0000 (12:32 -0400)]
Move `crate_in_macro_def` to suspicious

2 years agoUpdate clippy_lints/src/crate_in_macro_def.rs
Samuel Moelius [Wed, 30 Mar 2022 16:40:44 +0000 (12:40 -0400)]
Update clippy_lints/src/crate_in_macro_def.rs

Co-authored-by: llogiq <bogusandre@gmail.com>
2 years agoUpdate clippy_lints/src/crate_in_macro_def.rs
Samuel Moelius [Wed, 30 Mar 2022 16:40:25 +0000 (12:40 -0400)]
Update clippy_lints/src/crate_in_macro_def.rs

Co-authored-by: llogiq <bogusandre@gmail.com>
2 years agoUpdate clippy_lints/src/crate_in_macro_def.rs
Samuel Moelius [Wed, 30 Mar 2022 16:40:16 +0000 (12:40 -0400)]
Update clippy_lints/src/crate_in_macro_def.rs

Co-authored-by: llogiq <bogusandre@gmail.com>
2 years agoAuto merge of #8597 - giraffate:fix_changelog, r=xFrednet
bors [Wed, 30 Mar 2022 16:25:42 +0000 (16:25 +0000)]
Auto merge of #8597 - giraffate:fix_changelog, r=xFrednet

Fix version in changelog

changelog: none

2 years agoAuto merge of #8592 - c410-f3r:stuff, r=flip1995
bors [Wed, 30 Mar 2022 16:04:14 +0000 (16:04 +0000)]
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.

2 years agoAuto merge of #8586 - pitaj:fix-8378, r=flip1995
bors [Wed, 30 Mar 2022 15:46:48 +0000 (15:46 +0000)]
Auto merge of #8586 - pitaj:fix-8378, r=flip1995

specify serde version compatible with codebase

fix #8378

changelog: none

2 years agoAuto merge of #8584 - Alexendoo:map-unit-fn-context, r=Manishearth
bors [Wed, 30 Mar 2022 15:25:37 +0000 (15:25 +0000)]
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`

2 years agoAllow running `cargo dev lint` on a package directory
Alex Macleod [Tue, 29 Mar 2022 17:36:38 +0000 (18:36 +0100)]
Allow running `cargo dev lint` on a package directory

2 years agoFix ICE for `iter_overeager_cloned`
Takayuki Nakata [Tue, 29 Mar 2022 12:51:37 +0000 (21:51 +0900)]
Fix ICE for `iter_overeager_cloned`

2 years agoimprove parent expr check
J-ZhengLi [Tue, 29 Mar 2022 07:23:19 +0000 (15:23 +0800)]
improve parent expr check

2 years agoFix version in changelog
Takayuki Nakata [Mon, 28 Mar 2022 12:48:34 +0000 (21:48 +0900)]
Fix version in changelog

2 years agoAddress review comments
Samuel E. Moelius III [Mon, 28 Mar 2022 08:32:31 +0000 (04:32 -0400)]
Address review comments

2 years agoFirst submit
Jaic1 [Mon, 28 Mar 2022 04:09:01 +0000 (12:09 +0800)]
First submit

2 years agoAuto merge of #8487 - dswij:8478, r=giraffate
bors [Mon, 28 Mar 2022 00:25:45 +0000 (00:25 +0000)]
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`

2 years agoAuto merge of #8519 - tysg:redundant-modulo, r=giraffate
bors [Mon, 28 Mar 2022 00:11:32 +0000 (00:11 +0000)]
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`

2 years agoEmit lint when rhs is negative
Tianyi Song [Sun, 27 Mar 2022 13:48:15 +0000 (21:48 +0800)]
Emit lint when rhs is negative

2 years agoRustfmt
Caio [Sat, 26 Mar 2022 18:48:17 +0000 (15:48 -0300)]
Rustfmt

2 years agoDo not fire `panic` in a constant environment
Caio [Sat, 26 Mar 2022 18:39:21 +0000 (15:39 -0300)]
Do not fire `panic` in a constant environment

2 years agofix `indexing_slicing` with const
Peter Jaszkowiak [Sat, 26 Mar 2022 05:05:38 +0000 (23:05 -0600)]
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)

2 years agospecify serde version compatible with codebase
Peter Jaszkowiak [Fri, 25 Mar 2022 22:39:15 +0000 (16:39 -0600)]
specify serde version compatible with codebase

2 years agoProvide suggestion context in map_unit_fn
Alex Macleod [Fri, 25 Mar 2022 20:39:03 +0000 (20:39 +0000)]
Provide suggestion context in map_unit_fn

2 years agoAuto merge of #8582 - xFrednet:0000-changelog-1-60, r=Manishearth
bors [Fri, 25 Mar 2022 17:05:05 +0000 (17:05 +0000)]
Auto merge of #8582 - xFrednet:0000-changelog-1-60, r=Manishearth

Changelog for Rust 1.60.0 :crab: (Kudos to everyone who contributed!)

As always, I'm impressed by how much stuff happened in just one release. Seriously, kudos to everyone who contributed.

changelog: none

2 years agoChangelog for Rust 1.60.0 :crab:
xFrednet [Thu, 24 Mar 2022 23:27:25 +0000 (00:27 +0100)]
Changelog for Rust 1.60.0 :crab:

2 years agoAuto merge of #8580 - flip1995:rustup, r=flip1995
bors [Thu, 24 Mar 2022 13:29:13 +0000 (13:29 +0000)]
Auto merge of #8580 - flip1995:rustup, r=flip1995

Rustup

r? `@ghost`

Nice small sync with only typo fixes

changelog: none

2 years agoBump nightly version -> 2022-03-24
flip1995 [Thu, 24 Mar 2022 13:22:43 +0000 (14:22 +0100)]
Bump nightly version -> 2022-03-24

2 years agoMerge remote-tracking branch 'upstream/master' into rustup
flip1995 [Thu, 24 Mar 2022 13:13:37 +0000 (14:13 +0100)]
Merge remote-tracking branch 'upstream/master' into rustup

2 years agoTypo
Samuel Moelius [Thu, 24 Mar 2022 12:57:08 +0000 (08:57 -0400)]
Typo

2 years agoAuto merge of #8579 - yoav-lavi:squashed-master, r=flip1995
bors [Thu, 24 Mar 2022 12:57:08 +0000 (12:57 +0000)]
Auto merge of #8579 - yoav-lavi:squashed-master, r=flip1995

`unnecessary_join` lint

changelog: Adds a lint called ``[`unnecessary_join`]`` that detects cases of `.collect::<Vec<String>>.join("")` or `.collect::<Vec<_>>.join("")` on an iterator, suggesting `.collect::<String>()` instead

Fixes: https://github.com/rust-lang/rust-clippy/issues/8570
This is a reopen of https://github.com/rust-lang/rust-clippy/pull/8573

changelog: add lint [`unnecessary_join`]

2 years ago`unnecessary_join` lint
Yoav Lavi [Thu, 24 Mar 2022 12:18:18 +0000 (13:18 +0100)]
`unnecessary_join` lint

2 years agoAdd `crate_in_macro_def` lint
Samuel E. Moelius III [Thu, 24 Mar 2022 01:08:52 +0000 (21:08 -0400)]
Add `crate_in_macro_def` lint

2 years agoAuto merge of #8232 - Jarcho:match_same_arm_860, r=xFrednet
bors [Mon, 21 Mar 2022 20:42:51 +0000 (20:42 +0000)]
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

2 years agoAuto merge of #8561 - FoseFx:use_unwrap_or, r=xFrednet
bors [Mon, 21 Mar 2022 20:08:29 +0000 (20:08 +0000)]
Auto merge of #8561 - FoseFx:use_unwrap_or, r=xFrednet

add `or_then_unwrap`

Closes #8557

changelog: New lint [`or_then_unwrap`]

2 years agoAuto merge of #8520 - J-ZhengLi:issue8506, r=xFrednet
bors [Mon, 21 Mar 2022 19:51:56 +0000 (19:51 +0000)]
Auto merge of #8520 - J-ZhengLi:issue8506, r=xFrednet

fix suggestion on `[map_flatten]` being cropped causing possible information loss

fixes #8506

Multi-line suggestion given by the lint is missing its bottom part, which could potentially contains useful information about the fix.

---

changelog: [`map_flatten`]: Long suggestions will now be splitup into two help messages

2 years agoallowing [`map_flatten`] to split long suggestions
J-ZhengLi [Mon, 21 Mar 2022 06:11:22 +0000 (14:11 +0800)]
allowing [`map_flatten`] to split long suggestions
add new function `span_lint_and_sugg_` for edges in `clippy_utils::diagnostics`

2 years agorefactor: remove need for MethodCall matching
Max Baumann [Sun, 20 Mar 2022 23:04:37 +0000 (00:04 +0100)]
refactor: remove need for MethodCall matching

2 years agorefactor: use is_lang_ctor()
Max Baumann [Sun, 20 Mar 2022 22:54:04 +0000 (23:54 +0100)]
refactor: use is_lang_ctor()

2 years agofeat: change error message
Max Baumann [Sun, 20 Mar 2022 22:43:17 +0000 (23:43 +0100)]
feat: change error message

2 years agoAuto merge of #8559 - pickfire:patch-1, r=xFrednet
bors [Sun, 20 Mar 2022 22:32:12 +0000 (22:32 +0000)]
Auto merge of #8559 - pickfire:patch-1, r=xFrednet

Fix typo in bug report

repoduce -> reproduce

---

changelog: none

2 years agotest: add method chain test
Max Baumann [Sat, 19 Mar 2022 17:17:43 +0000 (18:17 +0100)]
test: add method chain test

2 years agofeat: make fixable
Max Baumann [Fri, 18 Mar 2022 22:18:36 +0000 (23:18 +0100)]
feat: make fixable

2 years agofeat: use span_lint_and_sugg
Max Baumann [Fri, 18 Mar 2022 21:44:56 +0000 (22:44 +0100)]
feat: use span_lint_and_sugg

2 years agorefactor: move into methods module
Max Baumann [Fri, 18 Mar 2022 20:11:54 +0000 (21:11 +0100)]
refactor: move into methods module

2 years agoAuto merge of #8562 - Jarcho:enum_tuple_variant_as_int, r=Manishearth
bors [Fri, 18 Mar 2022 15:54:45 +0000 (15:54 +0000)]
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`

2 years agofeat: add comment
Max Baumann [Fri, 18 Mar 2022 13:45:48 +0000 (14:45 +0100)]
feat: add comment

2 years agoAuto merge of #8543 - dswij:8393, r=giraffate
bors [Fri, 18 Mar 2022 00:42:18 +0000 (00:42 +0000)]
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

2 years agofix: ran update_lints
Max Baumann [Fri, 18 Mar 2022 00:12:39 +0000 (01:12 +0100)]
fix: ran update_lints