| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Split out while_let_loop tests into separate file.
Split ice-360 out into separate file.
|
|
Closes #771
|
|
At some stage, we started adding test cases inside the function which tests
refutable patterns. This commits splits those test cases out into separate
functions.
|
|
remove function body from "too many args" span
changelog: Remove the function body from the "too many arguments" span.
|
|
|
|
Fix #4033 search_is_some
Fixes #4033.
Suggest `any(|x| ..)` instead of `any(|&x| ..)` for `find(|&x| ..).is_some()` (Lint [search_is_some](https://rust-lang.github.io/rust-clippy/master/index.html#search_is_some))
FnDecl of `find`:
```rust
fn find<P>(&mut self, mut p: P) -> Option<Self::Item> where
P: FnMut(&Self::Item) -> bool
```
FnDecl of `any`:
```rust
fn any<F>(&mut self, mut f: F) -> bool where
F: FnMut(Self::Item) -> bool
```
If match on `|&_|` in closure of `find`, only use `|_|` in the suggestion.
PS. It's the first time that I have used the `hir` API, please correct me if there is any mistake đŸ˜º
|
|
useless_let_if_seq handle interior mutability
fixes #3043
This passes all tests, including a new one specifically dealing with a type with interior mutability. The main thing I'm unsure of is whether the span I used in the call to `is_freeze` is the most appropriate span to use, or if it matters.
|
|
|
|
|
|
|
|
|
|
|
|
Add two more tests for redundant_closure
These two cases were fixed by #4008.
Closes #1439
changelog: none
|
|
|
|
|
|
These two cases were fixed by #4008.
Closes #1439
changelog: none
|
|
|
|
|
|
Do not trigger redundant_closure for non-function types
fixes #3898
Added a check for the entity being called in the closure body to be a FnDef. This way lint does not trigger for ADTs (Box) but I'm not sure if it's correct and not too restrictive.
<!--
Thank you for making Clippy better!
We're collecting our changelog from pull request descriptions.
If your PR only updates to the latest nightly, you can leave the
`changelog` entry as `none`. Otherwise, please write a short comment
explaining your change.
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 `util/dev update_lints`
- [ ] Added lint documentation
- [ ] Run `cargo fmt`
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 -->
changelog: Fix false positive in `redundant_closure` pertaining to non-function types
|
|
Attempt to fix #3981
Fixes #3981
Hi, hopefully this is correct, happy to have feedback.
changelog: Don't trigger `unnecessary_cast` inside a macro
|
|
|
|
Add test for or_fun_call macro suggestion
changelog: none
Closes #1018
|
|
UI test cleanup: Extract needless_range_loop tests
changelog: none
|
|
r=flip1995
Suppress let_and_return if let has attributes
Fixes #3882.
changelog: suppress `let_and_return` if `let` has attributes
|
|
Fixes #3882.
|
|
Closes #1018
|
|
|
|
Fixes #3964.
|
|
Ignore non-const ctor expressions in or_fn_call
Fixes https://github.com/rust-lang/rust-clippy/issues/1338
Should have been fixed by #919, however that focuses on const ctor expressions only, and `.or(Some(local))` isn't const.
This also automatically ignores things like `.or(Some(local.clone())` which we don't actually want to do; I need to figure out what to do here.
changelog: Fixed false positive in [`or_fn_call`] pertaining to enum variant constructors
r? @oli-obk @phansch
|
|
|
|
|
|
See #4012.
|
|
|
|
Add test for derives for used_underscore_binding lint
This closes #852 as I can't reproduce the original issue anymore.
changelog: none
|
|
Allow allowing of toplevel_ref_arg lint
I'm not sure why some lints need the `HirId` to be able to recognize the
lint level attributes, but this commit makes the lint level attributes
work for `toplevel_ref_arg`.
Fixes #2332
changelog: Allow allowing of `toplevel_ref_arg` lint
|
|
Add run-rustfix for match_as_ref lint
* Extracts `match_as_ref` into separate file
* Adds `// run-rustfix` to `tests/ui/match_as_ref.rs`
cc #3630
changelog: none
|
|
Fix false positive in module_name_repetitions lint
This lint was triggering on modules inside expanded attrs, like
for example `#[cfg(test)]` and possibly more.
It was not reporting a location in #3892 because `span.lo()` and `span.hi()` both were 0.
Fixes #3892
changelog: Fix false positive in `module_name_repetitions` lint
|
|
This closes #852 as I can't reproduce the original issue anymore.
|
|
I'm not sure why some lints need the `HirId` to be able to recognize the
lint level attributes, but this commit makes the lint level attributes
work for `toplevel_ref_arg`.
|
|
|
|
This lint was triggering on modules inside expanded attrs, like
for example `#[cfg(test)]` and possibly more.
|
|
* Extracts `match_as_ref` into separate file
* Adds `// run-rustfix` to `tests/ui/match_as_ref.rs`
|
|
Don't trigger assertions_on_constants on debug_assert!(false)
Fixes #3948
Fixes #3765
changelog: Fix `debug_assert!` false positive on `assertions_on_constants` lint
|