]> git.lizzy.rs Git - rust.git/log
rust.git
2 years agoMove `Arithmetic` into `Operators` lint pass
Jason Newcomb [Wed, 1 Jun 2022 01:27:29 +0000 (21:27 -0400)]
Move `Arithmetic` into `Operators` lint pass

2 years agoAdd `Operators` lint pass
Jason Newcomb [Tue, 31 May 2022 18:07:50 +0000 (14:07 -0400)]
Add `Operators` lint pass

2 years agoAuto merge of #8774 - hellow554:cargo-rust-version, r=flip1995
bors [Tue, 28 Jun 2022 07:27:08 +0000 (07:27 +0000)]
Auto merge of #8774 - hellow554:cargo-rust-version, r=flip1995

try reading rust-version from Cargo.toml

Cargo.toml can contain a field `rust-version`, that acts like a MSRV of
clippy.toml file: https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field
This will try to read that field and use it, if the clippy.toml config
has no `msrv` entry

changelog: respect `rust-version` from `Cargo.toml`

closes #8746
closes #7765

2 years agoAuto merge of #8639 - Jarcho:trivially_copy_pass_by_ref_5953, r=dswij
bors [Tue, 28 Jun 2022 07:03:57 +0000 (07:03 +0000)]
Auto merge of #8639 - Jarcho:trivially_copy_pass_by_ref_5953, r=dswij

`trivially_copy_pass_by_ref` fixes

fixes #5953
fixes #2961

The fix for #5953 is overly aggressive, but the suggestion is so bad that it's worth the false negatives. Basically three things together:
* It's not obviously wrong
* It compiles
* It may actually work when tested

changelog: Don't lint `trivially_copy_pass_by_ref` when unsafe pointers are used.
changelog: Better track lifetimes when linting `trivially_copy_pass_by_ref`.

2 years agoadd uitests for cargo rust-version field
Marcel Hellwig [Tue, 10 May 2022 12:46:05 +0000 (14:46 +0200)]
add uitests for cargo rust-version field

2 years agoparse `Cargo.toml` file in ui-cargo tests
Marcel Hellwig [Mon, 27 Jun 2022 09:11:52 +0000 (11:11 +0200)]
parse `Cargo.toml` file in ui-cargo tests

compiletest_rs is not meant to test full cargo projects, but instead
only files.
So we need to parse the `Cargo.toml` file ourself and set the
corresponding environment variable. In this case we just set
`CARGO_PKG_RUST_VERSION`, nothing more. But, of course, this can be
extended.

2 years agoupdate README.md to reflect rust-version in cargo.toml
Marcel Hellwig [Tue, 10 May 2022 11:09:28 +0000 (13:09 +0200)]
update README.md to reflect rust-version in cargo.toml

2 years agotry reading rust-version from Cargo.toml
Marcel Hellwig [Mon, 2 May 2022 09:31:39 +0000 (11:31 +0200)]
try reading rust-version from Cargo.toml

Cargo.toml can contain a field `rust-version`, that acts like a MSRV of
clippy.toml file: https://doc.rust-lang.org/cargo/reference/manifest.html#the-rust-version-field
This will try to read that field and use it, if the clippy.toml config
has no `msrv` entry

2 years agoAuto merge of #9045 - alex-semenyuk:self_assignment_example, r=llogiq
bors [Mon, 27 Jun 2022 17:33:31 +0000 (17:33 +0000)]
Auto merge of #9045 - alex-semenyuk:self_assignment_example, r=llogiq

Fix example `SELF_ASSIGNMENT`

changelog: Fix example in `SELF_ASSIGNMENT` docs

2 years agoAuto merge of #8649 - ebobrow:imperative_find, r=flip1995
bors [Mon, 27 Jun 2022 17:15:25 +0000 (17:15 +0000)]
Auto merge of #8649 - ebobrow:imperative_find, r=flip1995

add [`manual_find`] lint for function return case

part of the implementation discussed in #7143

changelog: add [`manual_find`] lint for function return case

2 years agoDon't lint `trivially_copy_pass_by_ref` when unsafe pointers are used
Jason Newcomb [Wed, 6 Apr 2022 02:48:47 +0000 (22:48 -0400)]
Don't lint `trivially_copy_pass_by_ref` when unsafe pointers are used

2 years agoActually check lifetimes in `trivially_copy_pass_by_ref`
Jason Newcomb [Wed, 6 Apr 2022 01:14:42 +0000 (21:14 -0400)]
Actually check lifetimes in `trivially_copy_pass_by_ref`

2 years agoFix example `SELF_ASSIGNMENT`
alexey semenyuk [Sat, 25 Jun 2022 11:57:32 +0000 (11:57 +0000)]
Fix example `SELF_ASSIGNMENT`

2 years agoAuto merge of #8972 - kyoto7250:use_retain, r=llogiq
bors [Mon, 27 Jun 2022 13:58:26 +0000 (13:58 +0000)]
Auto merge of #8972 - kyoto7250:use_retain, r=llogiq

feat(new lint): new lint `manual_retain`

close #8097

This PR is  a new  lint implementation.
This lint checks if the `retain` method is available.

Thank you in advance.

changelog: add new ``[`manual_retain`]`` lint

2 years agoAuto merge of #8990 - tsoutsman:master, r=llogiq
bors [Mon, 27 Jun 2022 13:38:50 +0000 (13:38 +0000)]
Auto merge of #8990 - tsoutsman:master, r=llogiq

Fix `let_undescore_lock` false-positive when binding without locking

Fixes #8486.

changelog: Fix `let_undescore_lock` false-positive when binding without locking.

2 years agoFix `let_undescore_lock` false-positive when binding without locking
Klim Tsoutsman [Mon, 13 Jun 2022 03:08:50 +0000 (13:08 +1000)]
Fix `let_undescore_lock` false-positive when binding without locking

Signed-off-by: Klim Tsoutsman <klimusha@gmail.com>
2 years agoAuto merge of #9054 - alex-semenyuk:string_add_example, r=giraffate
bors [Mon, 27 Jun 2022 06:08:00 +0000 (06:08 +0000)]
Auto merge of #9054 - alex-semenyuk:string_add_example, r=giraffate

STRING_ADD example

changelog: none
STRING_ADD example, how it should be

2 years agoAuto merge of #8871 - Serial-ATA:cargo-dev-deprecate, r=giraffate
bors [Mon, 27 Jun 2022 00:32:22 +0000 (00:32 +0000)]
Auto merge of #8871 - Serial-ATA:cargo-dev-deprecate, r=giraffate

Add `cargo dev deprecate`

changelog: none

I wrote this awhile ago when `regex` was still a dependency. Is it alright to add it back?

2 years agoAuto merge of #8939 - Jarcho:transmute_ptr_to_ref_lt, r=giraffate
bors [Mon, 27 Jun 2022 00:05:50 +0000 (00:05 +0000)]
Auto merge of #8939 - Jarcho:transmute_ptr_to_ref_lt, r=giraffate

Suggest `pointer::cast` when possible in `transmute_ptr_to_ref`

fixes #8924

changelog: Suggest casting the pointer for any type containing lifetimes in `transmute_ptr_to_ref`.
changelog: Suggest `pointer::cast` when possible in `transmute_ptr_to_ref`.

2 years agocargo dev update_lints
kyoto7250 [Sun, 26 Jun 2022 23:20:30 +0000 (08:20 +0900)]
cargo dev update_lints

2 years agofix for git rebase
kyoto7250 [Sat, 18 Jun 2022 09:56:46 +0000 (18:56 +0900)]
fix for git rebase

2 years agorename use_retain => manual_retain
kyoto7250 [Fri, 10 Jun 2022 12:02:43 +0000 (21:02 +0900)]
rename use_retain => manual_retain

2 years agocheck msrv
kyoto7250 [Fri, 10 Jun 2022 02:31:25 +0000 (11:31 +0900)]
check msrv

2 years agorewrite without if_chain macro
kyoto7250 [Thu, 9 Jun 2022 13:50:00 +0000 (22:50 +0900)]
rewrite without if_chain macro

2 years agocheck method
kyoto7250 [Thu, 9 Jun 2022 13:34:16 +0000 (22:34 +0900)]
check  method

2 years agochange lint type from style to perf
kyoto7250 [Thu, 9 Jun 2022 13:25:07 +0000 (22:25 +0900)]
change lint type from style to perf

2 years agoremove needless return
kyoto7250 [Thu, 9 Jun 2022 13:20:59 +0000 (22:20 +0900)]
remove needless return

2 years agoUpdate clippy_lints/src/use_retain.rs
kyoto7250 [Thu, 9 Jun 2022 12:52:40 +0000 (21:52 +0900)]
Update clippy_lints/src/use_retain.rs

Co-authored-by: llogiq <bogusandre@gmail.com>
2 years agofeat(new lint): new lint `use_retain`
kyoto7250 [Tue, 7 Jun 2022 03:11:33 +0000 (12:11 +0900)]
feat(new lint): new lint `use_retain`

2 years agoAuto merge of #9032 - kyoto7250:issue_9018, r=llogiq
bors [Sun, 26 Jun 2022 16:11:06 +0000 (16:11 +0000)]
Auto merge of #9032 - kyoto7250:issue_9018, r=llogiq

enum_variant_names should ignore when all prefixes are _

close #9018

When Enum prefix is only an underscore, we should not issue warnings.

changelog: fix false positive in enum_variant_names

2 years agoAuto merge of #9055 - kyoto7250:update_nodejs_in_github_action, r=Manishearth
bors [Sun, 26 Jun 2022 15:07:22 +0000 (15:07 +0000)]
Auto merge of #9055 - kyoto7250:update_nodejs_in_github_action, r=Manishearth

update node.js version in `remark.yml`

Optional chain (`?.`) is available in `node v14`, but node version in CI is `node v12`, so CI is failed now.

ref:
https://github.com/rust-lang/rust-clippy/runs/7059529735?check_suite_focus=true

optional chain:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining#browser_compatibility

Corresponding PR (maybe)
https://github.com/remarkjs/remark/pull/1007

changelog: None

2 years agoupdate node.js version
kyoto7250 [Sun, 26 Jun 2022 11:19:32 +0000 (20:19 +0900)]
update node.js version

2 years agoSTRING_ADD example
alexey semenyuk [Sun, 26 Jun 2022 08:36:50 +0000 (08:36 +0000)]
STRING_ADD example

2 years agoSTRING_ADD example
alexey semenyuk [Sun, 26 Jun 2022 08:14:37 +0000 (11:14 +0300)]
STRING_ADD example

2 years agouse all instead of join
kyoto7250 [Sun, 26 Jun 2022 07:11:04 +0000 (16:11 +0900)]
use all instead of join

2 years agotreat argument as a slice.
kyoto7250 [Sun, 26 Jun 2022 06:55:44 +0000 (15:55 +0900)]
treat argument as a slice.

Co-authored-by: llogiq <bogusandre@gmail.com>
2 years agoAuto merge of #8985 - botahamec:single-match-option, r=llogiq
bors [Sat, 25 Jun 2022 16:48:34 +0000 (16:48 +0000)]
Auto merge of #8985 - botahamec:single-match-option, r=llogiq

Lint `[single_match]` on `Option` matches

fixes #8928

changelog: did some cleanup of the logic for ``[`single_match`]`` and ``[`single_match_else`]`` which fixes the bug where `Option` matches were not linted unless a wildcard was used for one of the arms.

2 years agoSuggest `pointer::cast` when possible in `transmute_ptr_to_ref`
Jason Newcomb [Sat, 4 Jun 2022 02:12:26 +0000 (22:12 -0400)]
Suggest `pointer::cast` when possible in `transmute_ptr_to_ref`
Defensively add a cast to any type with lifetimes.

2 years agoAuto merge of #9015 - kyoto7250:issue_8493, r=Jarcho
bors [Sat, 25 Jun 2022 02:40:30 +0000 (02:40 +0000)]
Auto merge of #9015 - kyoto7250:issue_8493, r=Jarcho

ignore item in `thread_local!` macro

close #8493

This PR ignores `thread_local` macro in `declare_interior_mutable_const`.

changelog: ignore `thread_local!` macro in `declare_interior_mutable_const`

2 years agoAdd test for [`default_deprecation_reason`]
Serial [Fri, 24 Jun 2022 18:11:24 +0000 (14:11 -0400)]
Add test for [`default_deprecation_reason`]

2 years agoAuto merge of #9031 - evantypanski:manual_rem_euclid, r=Jarcho
bors [Fri, 24 Jun 2022 17:49:53 +0000 (17:49 +0000)]
Auto merge of #9031 - evantypanski:manual_rem_euclid, r=Jarcho

Add [`manual_rem_euclid`] lint

Closes #8883

Adds a lint for checking manual use of `rem_euclid(n)`

changelog: Add [`manual_rem_euclid`] lint

2 years agoAuto merge of #9037 - smoelius:fix-extra-unused-lifetimes-fp, r=dswij
bors [Fri, 24 Jun 2022 08:39:45 +0000 (08:39 +0000)]
Auto merge of #9037 - smoelius:fix-extra-unused-lifetimes-fp, r=dswij

Fix `extra_unused_lifetimes` false positive

This PR fixes #9014.

I confirmed the FP on the `crates.io` source as `@JohnTitor` mentioned, and confirmed that the FP is no longer present following this change.

I did not include a test in this PR because I think constructing one would be complicated, and the fix is pretty simple. But please let me know if this is unacceptable.

changelog: fix `extra_unused_lifetimes` FP

2 years agoAuto merge of #9036 - xFrednet:0000-force-warn-in-driver, r=dswij
bors [Fri, 24 Jun 2022 02:26:35 +0000 (02:26 +0000)]
Auto merge of #9036 - xFrednet:0000-force-warn-in-driver, r=dswij

Check for `--force-warn` in Clippy's driver run condition

Just a thing I've noticed while tinkering on the driver. Currently, the driver only checks for `--cap-lints=allow` to determine if Clippy should run on the code, but ignores possible `--force-warn` arguments

---

changelog: Others: Allowing all lints and only `--force-warn`ing some will now work with Clippy's driver

2 years agoAuto merge of #8953 - DevAccentor:slow_vector_initialization, r=Manishearth
bors [Thu, 23 Jun 2022 22:29:52 +0000 (22:29 +0000)]
Auto merge of #8953 - DevAccentor:slow_vector_initialization, r=Manishearth

add vec.capacity() to [`slow_vec_initialization`] detection

fix #8800

for example
```rust
let mut vec1 = Vec::with_capacity(len);
vec1.resize(vec1.capacity(), 0);

let mut vec2 = Vec::with_capacity(len);
vec2.extend(repeat(0).take(vec2.capacity()));
```
will trigger the lint

---

changelog: add `vec.capacity()` to [`slow_vec_initialization`] detection

2 years agoAdd external macro guard and test middle MSRV
Evan Typanski [Thu, 23 Jun 2022 20:34:52 +0000 (16:34 -0400)]
Add external macro guard and test middle MSRV

2 years agoFix ICE when deprecating lints in directories
Serial [Thu, 23 Jun 2022 14:37:00 +0000 (10:37 -0400)]
Fix ICE when deprecating lints in directories

2 years agoSplit constant check functions and simplify
Evan Typanski [Thu, 23 Jun 2022 14:35:14 +0000 (10:35 -0400)]
Split constant check functions and simplify

2 years agoCheck for `--force-warn` in Clippy's driver run condition
xFrednet [Thu, 23 Jun 2022 07:44:53 +0000 (09:44 +0200)]
Check for `--force-warn` in Clippy's driver run condition

2 years agoFix `extra_unused_lifetimes` false positive
Samuel E. Moelius III [Tue, 21 Jun 2022 09:18:27 +0000 (05:18 -0400)]
Fix `extra_unused_lifetimes` false positive

2 years agoAuto merge of #9034 - alex-semenyuk:example_vec_resize_to_zero, r=giraffate
bors [Wed, 22 Jun 2022 23:59:16 +0000 (23:59 +0000)]
Auto merge of #9034 - alex-semenyuk:example_vec_resize_to_zero, r=giraffate

Example for VEC_RESIZE_TO_ZERO

changelog: none

Example for VEC_RESIZE_TO_ZERO - what we should use instead

2 years agoAuto merge of #9028 - kyoto7250:issue_8798, r=xFrednet
bors [Wed, 22 Jun 2022 22:35:21 +0000 (22:35 +0000)]
Auto merge of #9028 - kyoto7250:issue_8798, r=xFrednet

confirm  using chain in collapsible_span_lint_calls

close #8798

This PR fixes false positive when using chain in `collapsible_span_lint_calls`.

changelog: None

2 years agoAuto merge of #9026 - hellow554:neg_multiply_precedence, r=xFrednet
bors [Wed, 22 Jun 2022 22:18:08 +0000 (22:18 +0000)]
Auto merge of #9026 - hellow554:neg_multiply_precedence, r=xFrednet

put parentheses around neg_multiply suggestion if needed

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

changelog: [`neg_multiply`]: put parentheses around suggestion if needed

2 years agoSimplify with let else
Evan Typanski [Wed, 22 Jun 2022 19:26:08 +0000 (15:26 -0400)]
Simplify with let else

2 years agoAdd MSRV check for const rem_euclid
Evan Typanski [Wed, 22 Jun 2022 18:17:52 +0000 (14:17 -0400)]
Add MSRV check for const rem_euclid

2 years agoFix case for function params
Evan Typanski [Wed, 22 Jun 2022 18:08:47 +0000 (14:08 -0400)]
Fix case for function params

2 years agoPrefer if let chain over macro
Evan Typanski [Wed, 22 Jun 2022 17:31:04 +0000 (13:31 -0400)]
Prefer if let chain over macro

2 years agoFix case where rem was considered commutative
Evan Typanski [Wed, 22 Jun 2022 17:26:13 +0000 (13:26 -0400)]
Fix case where rem was considered commutative

2 years agoPrefer `.ok()?` over `.unwrap()`
Evan Typanski [Wed, 22 Jun 2022 17:15:35 +0000 (13:15 -0400)]
Prefer `.ok()?` over `.unwrap()`

2 years agoExample for VEC_RESIZE_TO_ZERO
alexey semenyuk [Wed, 22 Jun 2022 11:01:52 +0000 (11:01 +0000)]
Example for VEC_RESIZE_TO_ZERO

2 years agoAuto merge of #9030 - Serial-ATA:remove-clippy-dev-dep, r=flip1995
bors [Wed, 22 Jun 2022 08:02:54 +0000 (08:02 +0000)]
Auto merge of #9030 - Serial-ATA:remove-clippy-dev-dep, r=flip1995

Remove `cargo_dev` dependency

changelog: none

Sorry about that :sweat_smile:.

r? `@flip1995`

2 years agoAuto merge of #9017 - alex-semenyuk:while_let_on_iterator_doc_fix, r=giraffate
bors [Wed, 22 Jun 2022 00:01:49 +0000 (00:01 +0000)]
Auto merge of #9017 - alex-semenyuk:while_let_on_iterator_doc_fix, r=giraffate

Example for `WHILE_LET_ON_ITERATOR`

changelog: none

example for `WHILE_LET_ON_ITERATOR`, using `for` instead of `while let`

2 years agoenum_variant_names should ignore when all prefixes are _
kyoto7250 [Tue, 21 Jun 2022 22:59:14 +0000 (07:59 +0900)]
enum_variant_names should ignore when all prefixes are _

2 years agoFix case where suggestion errored for infer type
Evan Typanski [Tue, 21 Jun 2022 20:41:36 +0000 (16:41 -0400)]
Fix case where suggestion errored for infer type

2 years agoImplement manual_rem_euclid lint
Evan Typanski [Tue, 21 Jun 2022 18:13:15 +0000 (14:13 -0400)]
Implement manual_rem_euclid lint

2 years agoRemove `cargo_dev` dependency
Serial [Tue, 21 Jun 2022 18:04:37 +0000 (14:04 -0400)]
Remove `cargo_dev` dependency

2 years agoAdd `dev deprecate`
Serial [Sun, 22 May 2022 19:41:43 +0000 (15:41 -0400)]
Add `dev deprecate`

2 years ago`For` example should be used instead `while` in WHILE_LET_ON_ITERATOR
alexey semenyuk [Sat, 18 Jun 2022 19:42:39 +0000 (19:42 +0000)]
`For` example should be used instead `while` in WHILE_LET_ON_ITERATOR

`For` example should be used instead `while` in WHILE_LET_ON_ITERATOR

For example should be used instead while in WHILE_LET_ON_ITERATOR

Revert some changes

Fix cargo dev fmt

2 years agoput parentheses around neg_multiply suggestion if needed
Marcel Hellwig [Mon, 20 Jun 2022 21:44:18 +0000 (23:44 +0200)]
put parentheses around neg_multiply suggestion if needed

2 years agoAuto merge of #9006 - kyoto7250:issue-8836-v2, r=Jarcho
bors [Mon, 20 Jun 2022 15:08:32 +0000 (15:08 +0000)]
Auto merge of #9006 - kyoto7250:issue-8836-v2, r=Jarcho

feat(fix): ignore `todo!` and `unimplemented!` in `if_same_then_else`

close: #8836
take over:  #8853

This PR adds  check `todo!` and `unimplemented!` in if_same_then_else.
( I thought `unimplemented` should not be checked as well as todo!.)

Thank you in advance.

changelog: ignore todo! and unimplemented! in if_same_then_else

r? `@Jarcho`

2 years agoAuto merge of #9025 - Alexendoo:unused-async-method, r=dswij
bors [Mon, 20 Jun 2022 13:10:52 +0000 (13:10 +0000)]
Auto merge of #9025 - Alexendoo:unused-async-method, r=dswij

unused_async: lint async methods

Now lints:

```rust
impl Foo {
    async fn method(&self) -> &'static str {
        "no await here"
    }
}
```

changelog: [`unused_async`]: lint async methods

Fixes #9024

2 years agounused_async: lint async methods
Alex Macleod [Mon, 20 Jun 2022 12:03:27 +0000 (12:03 +0000)]
unused_async: lint async methods

2 years agoAuto merge of #9023 - unvalley:add-meta-tag-for-lint-list, r=xFrednet
bors [Mon, 20 Jun 2022 10:16:08 +0000 (10:16 +0000)]
Auto merge of #9023 - unvalley:add-meta-tag-for-lint-list, r=xFrednet

Add description meta tag for lint list

closes #8975

changelog:none

2 years agoconfirm using chain in collapsible_span_lint_calls
kyoto7250 [Mon, 20 Jun 2022 04:17:54 +0000 (13:17 +0900)]
confirm  using chain in collapsible_span_lint_calls

2 years agocheck macro in HitEqInterExpr
kyoto7250 [Mon, 20 Jun 2022 02:14:52 +0000 (11:14 +0900)]
check macro in HitEqInterExpr

2 years agocheck last statement
kyoto7250 [Mon, 20 Jun 2022 02:05:40 +0000 (11:05 +0900)]
check last statement

2 years agoAuto merge of #9016 - Alexendoo:needless-return-test, r=giraffate
bors [Mon, 20 Jun 2022 00:43:06 +0000 (00:43 +0000)]
Auto merge of #9016 - Alexendoo:needless-return-test, r=giraffate

Use `RefCell` in `needless_return` tests

changelog: none

The stdio locks no longer fail to compile if the `return` is removed due to them now being `'static` (#9008)

2 years agoAdd description meta tag for lint list
unvalley [Sun, 19 Jun 2022 15:19:08 +0000 (00:19 +0900)]
Add description meta tag for lint list

2 years agoUse RefCell in needless_return tests
Alex Macleod [Sat, 18 Jun 2022 16:36:47 +0000 (16:36 +0000)]
Use RefCell in needless_return tests

2 years agoignore item in thread_local!
kyoto7250 [Thu, 16 Jun 2022 14:19:46 +0000 (23:19 +0900)]
ignore item in thread_local!

2 years agocargo dev fmt
kyoto7250 [Sat, 18 Jun 2022 09:29:39 +0000 (18:29 +0900)]
cargo dev fmt

2 years agocheck macro in eq_block
kyoto7250 [Sat, 18 Jun 2022 09:24:39 +0000 (18:24 +0900)]
check macro in eq_block

2 years agocheck only first statement
kyoto7250 [Sat, 18 Jun 2022 08:49:03 +0000 (17:49 +0900)]
check only first statement

2 years agocheck macro_backtrace only
kyoto7250 [Sat, 18 Jun 2022 08:41:26 +0000 (17:41 +0900)]
check macro_backtrace only

2 years agoAuto merge of #8989 - kyoto7250:default_iter_empty, r=Alexendoo
bors [Fri, 17 Jun 2022 21:06:09 +0000 (21:06 +0000)]
Auto merge of #8989 - kyoto7250:default_iter_empty, r=Alexendoo

feat(lint): add default_iter_empty

close #8915

This PR adds `default_iter_empty` lint.

This lint checks `std::iter::Empty::default()` and replace with `std::iter::empty()`.

Thank you in advance.

---

changelog: add `default_instead_of_iter_empty` lint.

2 years agocheck only the end
kyoto7250 [Fri, 17 Jun 2022 15:19:30 +0000 (00:19 +0900)]
check only the end

2 years agofeat(lint): add default_iter_empty
kyoto7250 [Sun, 12 Jun 2022 12:30:55 +0000 (21:30 +0900)]
feat(lint): add default_iter_empty

Update description in clippy_lints/src/default_iter_empty.rs

Co-authored-by: Fridtjof Stoldt <xFrednet@gmail.com>
Update clippy_lints/src/default_iter_empty.rs

Co-authored-by: Alex Macleod <alex@macleod.io>
Update clippy_lints/src/default_iter_empty.rs

Co-authored-by: Alex Macleod <alex@macleod.io>
renamed default_iter_empty to default_instead_of_iter_empty

Avoid duplicate messages

add tests for regression

rewrite 'Why is this bad?'

cargo dev fmt

delete default_iter_empty lint in renamed_lint.rs

rewrite a message in the suggestion

cargo dev update_lints --check

2 years agouse get_diagnostic_name for checking macro_call
kyoto7250 [Fri, 17 Jun 2022 01:10:40 +0000 (10:10 +0900)]
use get_diagnostic_name for checking macro_call

2 years agoAuto merge of #9007 - flip1995:rustup, r=flip1995
bors [Thu, 16 Jun 2022 14:07:23 +0000 (14:07 +0000)]
Auto merge of #9007 - flip1995:rustup, r=flip1995

Rustup

r? `@ghost`

changelog: none

2 years agoBump nightly version -> 2022-06-16
flip1995 [Thu, 16 Jun 2022 14:04:12 +0000 (16:04 +0200)]
Bump nightly version -> 2022-06-16

2 years agoMerge remote-tracking branch 'upstream/master' into rustup
flip1995 [Thu, 16 Jun 2022 13:33:15 +0000 (15:33 +0200)]
Merge remote-tracking branch 'upstream/master' into rustup

2 years agoAuto merge of #9005 - flip1995:book_ci_2, r=xFrednet
bors [Thu, 16 Jun 2022 12:49:20 +0000 (12:49 +0000)]
Auto merge of #9005 - flip1995:book_ci_2, r=xFrednet

Build mdbook in remark workflow

r? `@xFrednet`

Supersedes #8959

changelog: none

2 years agofeat(fix): ignore todo! and unimplemented! in if_same_then_else
kyoto7250 [Thu, 16 Jun 2022 12:29:43 +0000 (21:29 +0900)]
feat(fix): ignore todo! and unimplemented! in if_same_then_else

2 years agoBuild mdbook in remark workflow
flip1995 [Thu, 16 Jun 2022 12:10:35 +0000 (14:10 +0200)]
Build mdbook in remark workflow

This is just to ensure that the book builds all time to not get in trouble when syncing with rust-lang/rust

2 years agoAuto merge of #9002 - andylizi:fix-never-loop, r=Manishearth
bors [Wed, 15 Jun 2022 18:36:32 +0000 (18:36 +0000)]
Auto merge of #9002 - andylizi:fix-never-loop, r=Manishearth

Fix false positive for `never_loop` struct expression fields

Fixes #9001.

changelog: [`never_loop`]: Now checks for `continue` in struct expression

2 years agoIgnore bodies containing `todo!()` in `clippy::if_same_then_else`
Dany Marcoux [Wed, 18 May 2022 18:28:11 +0000 (20:28 +0200)]
Ignore bodies containing `todo!()` in `clippy::if_same_then_else`

2 years agoRollup merge of #98110 - cjgillot:closure-brace, r=Aaron1011
Yuki Okushi [Wed, 15 Jun 2022 10:37:14 +0000 (19:37 +0900)]
Rollup merge of #98110 - cjgillot:closure-brace, r=Aaron1011

Make `ExprKind::Closure` a struct variant.

Simple refactor since we both need it to introduce additional fields in `ExprKind::Closure`.

r? ``@Aaron1011``

2 years agoFix false positive for `never_loop` struct expression fields
andylizi [Wed, 15 Jun 2022 09:54:43 +0000 (17:54 +0800)]
Fix false positive for `never_loop` struct expression fields

2 years agoAuto merge of #8964 - tamaroning:read_zero_byte_vec, r=dswij
bors [Wed, 15 Jun 2022 06:16:14 +0000 (06:16 +0000)]
Auto merge of #8964 - tamaroning:read_zero_byte_vec, r=dswij

Warn about read into zero-length `Vec`

Closes #8886

- \[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: none

2 years agoAuto merge of #8999 - Alexendoo:error-pattern, r=xFrednet
bors [Tue, 14 Jun 2022 16:54:13 +0000 (16:54 +0000)]
Auto merge of #8999 - Alexendoo:error-pattern, r=xFrednet

Remove error-pattern comments

The `clippy_lints` one [is unused](https://rust-lang.zulipchat.com/#narrow/stream/257328-clippy/topic/.60error-pattern.60), the others in `ui-toml` also appear not to have an effect

changelog: none

2 years agoRemove error-pattern comments
Alex Macleod [Tue, 14 Jun 2022 16:28:34 +0000 (16:28 +0000)]
Remove error-pattern comments