Commit graph

12295 commits

Author SHA1 Message Date
bors
871ad80bb0 Auto merge of #7690 - Jarcho:while_loop_by_ref, r=xFrednet
Change `while_let_on_iterator` suggestion to use `by_ref()`

It came up in the discussion #7659 that suggesting `iter.by_ref()` is a clearer suggestion than `&mut iter`. I personally think they're equivalent, but if `by_ref()` is clearer to people then that should be the suggestion.

changelog: Change `while_let_on_iterator` suggestion when using `&mut` to use `by_ref()`
2021-09-19 17:37:04 +00:00
Jason Newcomb
ee6a6b55c4
Change the suggestion for while_let_on_iterator when the iterator cannot be consumed to iter.by_ref() 2021-09-17 21:44:21 -04:00
bors
59cd77710d Auto merge of #7657 - dswij:needless-borrow-mut, r=llogiq
`needless_borrow` checks for mutable borrow

closes #7635

changelog: [`needless_borrow`] now checks for needless mutable borrow
2021-09-17 22:25:07 +00:00
bors
ed7a82ef05 Auto merge of #7653 - lengyijun:same_name_method_crate, r=llogiq
New lint: `same_name_method`

changelog: ``[`same_name_method`]``
fix: https://github.com/rust-lang/rust-clippy/issues/7632

It only compares a method in `impl` with another in `impl trait for`
It doesn't lint two methods in two traits.

I'm not sure my approach is the best way. I meet difficulty in other approaches.
2021-09-17 22:02:04 +00:00
bors
f99b4adb93 Auto merge of #7678 - lengyijun:issue3414, r=giraffate
add #3414 test

changelog: none
fixes #3414

I found #3414 was fixed some time. So I add the tests.
2021-09-17 02:07:11 +00:00
lyj
fb78365332 add 3414 test 2021-09-16 16:52:57 +08:00
bors
2316f4da83 Auto merge of #7671 - dtolnay-contrib:singlecharnames, r=xFrednet
Downgrade many_single_char_names to pedantic

As suggested by `@flip1995` in https://github.com/rust-lang/rust-clippy/issues/7666#issuecomment-918993215, by today's standards this lint would be considered `pedantic`.

This is one of the most widely suppressed Clippy lints on crates.io according to https://github.com/dtolnay/noisy-clippy.

In my opinion this lint is just too domain specific for Clippy to have reliable visibility into. Sure there are some cases where the author is just being lazy and could use a kick in the butt, but we're still left with an enormous number of suppressions where single chars are the most appropriate name. For example in the context of colors, a function using `h`, `s`, `l`, `r`, `g`, `b` is 100% sensible and spelling all those out is silly, but it's past the default lint threshold.

---

changelog: Moved [`many_single_char_names`] to `pedantic`
2021-09-14 17:37:32 +00:00
David Tolnay
c2783c1dcb
Downgrade many_single_char_names to pedantic 2021-09-14 09:59:06 -07:00
bors
746a0051c3 Auto merge of #7640 - kneasle:mut-key-false-positive, r=camsteffen
Improve accuracy of `mut_key`

Fixes #6745.

Whilst writing the tests for this, I noticed what I believe is a false negative (the code in `@xFrednet's` [comment](https://github.com/rust-lang/rust-clippy/issues/6745#issuecomment-909658267) doesn't trigger the lint).  Currently the tests contain a case for this (which is blatantly ignored), but I'm not at all sure how to implement this (since the lint currently behaves completely differently for ADTs).  I'm not sure what should be done - on the one hand the extra test cases are misleading, but on the other hand they don't cause much harm and would save effort for anyone fixing that false negative.

---

changelog: Improve accuracy of `clippy::mutable_key_type`.
2021-09-14 15:56:07 +00:00
Kneasle
b2ffb28da5 Fix FN for collections/smart ptrs in std 2021-09-14 16:51:09 +01:00
bors
7680c9ba6c Auto merge of #7670 - xFrednet:0000-lets-hope-this-fixes-rustbot-fps, r=camsteffen
Updating issue templates to avoid @rustbot triggers

This adds a space between the ``@`` and the name *rustbot*. This should now surely fix it. If not, I'm giving up.

@ rustbot label +C-bug

---

changelog: none

r? `@camsteffen`
2021-09-14 13:57:41 +00:00
xFrednet
d23994d70b Updating issue templates to avoid @rustbot triggers 2021-09-14 15:49:43 +02:00
lengyijun
e2cdaec984 same_name_method 2021-09-14 09:20:27 +08:00
Kneasle
e0090735f1 Fix FP when using raw pointers as hashed keys 2021-09-13 11:08:50 +01:00
bors
b556398113 Auto merge of #7646 - camsteffen:relative-target, r=flip1995
Target directory cleanup

changelog: none

* .cargo/config now has `target-dir` specified so that it is inherited by child projects. The target directory needs to be shared with clippy_dev, but not necessarily at the project root. (cc #7625)
* Uses `std::env::current_exe` (and its parent directories) whenever possible
* `CLIPPY_DRIVER_PATH` and `TARGET_LIBS` are no longer required from rustc bootstrap (but `HOST_LIBS` still is). These can be removed from the rustc side after merging.
* `CLIPPY_DOGFOOD` and the separate target directory are removed. This was originally added to mitigate #7343.

r? `@flip1995`
2021-09-13 09:57:01 +00:00
dswij
81d57de791 Update needless_borrow test output and expected fix 2021-09-13 12:29:24 +08:00
dswij
46c3076784 Fix needless_borrow not linting mutable reference 2021-09-13 12:29:24 +08:00
dswij
6b4b77aa44 Update test for needless-borrow FP for mutable ref 2021-09-13 12:29:24 +08:00
bors
a64b7698a4 Auto merge of #7661 - camsteffen:eta, r=giraffate
Fix various redundant_closure bugs

changelog: Fix various false negatives and false positives for [`redundant_closure`]

Closes #3071
Closes #4002

This lint is full of weird nuances and this is basically a re-write to tighten up the logic.
2021-09-13 00:39:34 +00:00
bors
2636a1b7b5 Auto merge of #7663 - Jarcho:rsplit_once_order, r=llogiq
Fix result order for `manual_split_once` when `rsplitn` is used

fixes: #7656

changelog: Fix result order for `manual_split_once` when `rsplitn` is used
2021-09-11 08:29:52 +00:00
Jason Newcomb
4c1b6a28e4
Fix result order for manual_split_once when rsplitn is used 2021-09-10 13:05:09 -04:00
bors
e8cd4e5bf0 Auto merge of #7660 - HKalbasi:derivable-impls, r=camsteffen
Fix derivable impl false positives

fix #7654
fix #7655

changelog: none (not released)
2021-09-10 15:32:16 +00:00
hamidreza kalbasi
5aff720e1a fix derivable impl false positives 2021-09-10 19:49:02 +04:30
Cameron Steffen
ae2a95fadc Eat dogfood 2021-09-09 17:10:59 -05:00
Cameron Steffen
5782dc0eb9 Fix redundant closure bugs 2021-09-09 17:10:59 -05:00
bors
d5595e55a2 Auto merge of #7649 - flip1995:backport_remerge, r=flip1995
Backport remerge

This is to keep the backported commit in the repository before force pushing the new beta branch.

r? `@ghost`

changelog: none
(literally none)
2021-09-09 14:47:28 +00:00
flip1995
f402edec1b
Merge remote-tracking branch 'upstream/beta' into backport_remerge 2021-09-09 16:45:20 +02:00
bors
1a524783b1 Auto merge of #7610 - Labelray:master, r=camsteffen
Add new lint `iter_not_returning_iterator`

Add new lint [`iter_not_returning_iterator`] to detect method `iter()` or `iter_mut()` returning a type not implementing `Iterator`
changelog: Add new lint [`iter_not_returning_iterator`]
2021-09-09 01:47:08 +00:00
bors
36e6469301 Auto merge of #7621 - azdavis:master, r=camsteffen
Allow giving reasons for `disallowed_methods`

Fixes #7609.

This permits writing the config for `disallowed-methods` as either a list of strings (like before) or a list of tables, where each table gives the path to the disallowed method and an optional reason for why the method is disallowed.

changelog: Allow giving reasons for [`disallowed_methods`]
2021-09-09 01:31:15 +00:00
Labelray
8f88acdbfa add new lint iter_not_returning_iterator 2021-09-09 09:21:38 +08:00
Ariel Davis
293db0d33c Allow giving reasons for disallowed_methods 2021-09-08 21:12:02 -04:00
Cameron Steffen
9e08e7f631 Remove special dogfood target 2021-09-08 14:07:03 -05:00
Cameron Steffen
5250744abc Remove target dir from aliases 2021-09-08 14:07:03 -05:00
Cameron Steffen
1074bad06d Rename test_build_base to test 2021-09-08 14:07:03 -05:00
Cameron Steffen
ecaf7acd4f Use relative path for test builds 2021-09-08 14:07:03 -05:00
Cameron Steffen
e3b171dcf0 Use relative exe paths 2021-09-08 14:07:03 -05:00
Cameron Steffen
2e15c8054d Make host libs -L flag optional 2021-09-08 14:07:03 -05:00
Cameron Steffen
cea46dd9fe Use relative deps path 2021-09-08 14:07:03 -05:00
Cameron Steffen
7f1c2c0e53 Add target to cargo config 2021-09-08 14:07:03 -05:00
bors
27afd6ade4 Auto merge of #7631 - camsteffen:depinfo, r=flip1995
Use binary-dep-depinfo to resolve UI test dependencies

Closes #7343
Closes #6809
Closes #3643

changelog: none

r? `@flip1995`
cc `@Jarcho`
2021-09-08 13:30:11 +00:00
Cameron Steffen
5d3fc6fc08 Deny warnings in test modules 2021-09-08 08:21:06 -05:00
Cameron Steffen
8c05a15f0a
Use binary-dep-depinfo to resolve UI dependencies 2021-09-08 11:13:45 +02:00
Cameron Steffen
ffe21e58a0
Remove unused dependencies 2021-09-08 11:13:44 +02:00
bors
5458358461 Auto merge of #7644 - flip1995:rustup, r=flip1995
Rustup

r? `@ghost`

changelog: none
2021-09-08 09:00:54 +00:00
flip1995
563a00b2a0
Bump Clippy Version -> 0.1.57 2021-09-08 10:59:04 +02:00
flip1995
3cb1d283d6
Bump nightly version -> 2021-09-08 2021-09-08 10:58:51 +02:00
flip1995
4962608ca6
Merge remote-tracking branch 'upstream/master' into rustup 2021-09-08 10:51:27 +02:00
bors
f35678401c Auto merge of #7607 - dswij:mut-range-bound-break, r=flip1995
`mut_range_bound` check for immediate break after mutation

closes #7532

`mut_range_bound` ignores mutation on range bounds that is placed immediately before break. Still warns if the break is not always reachable.

changelog: [`mut_range_bound`] ignore range bound mutations before immediate break
2021-09-08 08:14:17 +00:00
dswij
dc6f7dc6bf Add known problems to mut_range_bound docs 2021-09-08 11:00:27 +08:00
dswij
7515d9c6f7 Update test output for mut_range_bound 2021-09-08 10:41:37 +08:00