Commit Graph

2531 Commits

Author SHA1 Message Date
Manish Goregaokar
2fecf756f7 inline_fn_without_body: make it use a rustfix page 2019-09-21 10:01:06 +09:00
Manish Goregaokar
ee9e1af4ed implicit_return: make it use a rustfix test 2019-09-21 10:01:06 +09:00
Manish Goregaokar
a2ab0698cc identity_conversion: make it use a rustfix test 2019-09-21 10:01:06 +09:00
Manish Goregaokar
bbfb9a49e3 for_loop: Split test into fixable/unfixable, make needless_range_loop use updated range syntax 2019-09-21 10:01:06 +09:00
Manish Goregaokar
38a34b1bd7 eq_op: stop testing nonminimal_bool in same file 2019-09-20 23:21:37 +09:00
Manish Goregaokar
49adc99aed op_ref: Move tests out of eq_op file 2019-09-20 23:21:37 +09:00
Manish Goregaokar
d513a0b0a1 deref_addrof_double_trigger: Note why rustfix can't be used 2019-09-20 14:51:28 +09:00
Andre Bogus
8d884c8a1a new lint: mem-replace-with-uninit 2019-09-20 00:25:57 +02:00
bors
cdaa93d695 Auto merge of #4544 - JoshMcguigan:issue-4542, r=flip1995
#4542 remove machine applicable suggestion

This helps #4542 (but does not completely resolve) by removing the machine applicable suggestion (which was incorrect) for that case.

I would have preferred to fix the machine applicable suggestion to handle format strings, but that's a bit beyond my current understanding of the clippy codebase. I'd be happy to give it a try given some guidance.

changelog: only produce machine applicable suggestions on `explicit_write` lint
2019-09-19 09:28:29 +00:00
bors
f08f171530 Auto merge of #4539 - jolson88:cast-lossless-pedantic, r=flip1995
Changes cast-lossless to a pedantic lint

As discussed in #4528, this moves the cast-lossless lint from `all` to `pedantic`.

I couldn't tell from description alone if it should also be removed from the complexity category, so I left it as part of complexity for now. I didn't see any impact to the tests from this change, but I could be wrong (as this is my first PR).

fixes #4528

changelog: Moves cast-lossless from default to checking only as a `pedantic` lint.
2019-09-19 08:50:31 +00:00
Andre Bogus
70a7dab773 New lint: Require # Safety section in pub unsafe fn docs 2019-09-19 09:19:55 +02:00
Michael Wright
16ce071bed Work around qpath_res issue 2019-09-18 21:57:14 +02:00
Josh Mcguigan
24ec994001 remove machine applicable suggestion explicit_write format #4542 2019-09-18 01:59:58 -07:00
flip1995
c3cfb77bc7
Add ICE regression test 2019-09-17 09:49:08 +02:00
Jason Olson
6f1f413717
Changes cast-lossless to a pedantic lint
Fixes #4528
2019-09-15 10:32:45 -07:00
bors
535bc1d704 Auto merge of #4513 - matthiaskrgr:dogdood_incrcomp, r=llogiq
tests: disable incremental compilation in dogfood to reduce target dir size

tests: execute dogfood tests with incremental compilation disabled reduces target/ dir size of when "cargo test"ing by around 2 gigs.

changelog: none
2019-09-14 16:02:59 +00:00
Michael Wright
67f149215f Verify that issue #3567 is resolved
Closes #3567
2019-09-12 08:47:11 +02:00
Michael Wright
4a3bc6b592 Add unneeded-wildcard-pattern lint 2019-09-12 08:25:05 +02:00
Matthias Krüger
a1ecf39442 tests: dogfood: run tests with debuginfo=0 reducing dogfood target dir size even further. 2019-09-11 21:29:07 +02:00
Matthias Krüger
34dc07863d tests: execute dogfood tests with incremental compilation disabled
reduces target/ dir size of when "cago test"ing by around 2 gigs.
2019-09-11 21:29:00 +02:00
bors
6ca5b2053a Auto merge of #4478 - tsurai:master, r=flip1995
Fix incorrect swap suggestion

Clippy suggests using swap on fields belonging to the same owner causing two mutable borrows of the owner.

Disclosure: This is my first time working with clippy and rusts HIR. I'm very grateful for assistance and suggestions to improve the PR.

fixes #981
changelog: Fix false positive in `manual_swap` lint
2019-09-11 09:48:25 +00:00
Matthias Krüger
b72982759c run rustfmt 2019-09-11 08:26:57 +02:00
bors
12bb7d668d Auto merge of #4532 - rust-lang:integer-const, r=oli-obk
New `is_integer_const` to check more const ints

This mostly affects loop checks and the modulo_one lint. Tests were also updated where applicable.

changelog: none
2019-09-10 19:40:45 +00:00
Andre Bogus
5823e9468d New is_integer_const to check more const ints
This mostly affects loop checks and the modulo_one lint. Tests
were also updated where applicable.
2019-09-10 17:46:39 +02:00
bors
c53d2b824e Auto merge of #4525 - mikerite:use-self-constructor, r=phansch
Extend `use_self` to check constructor

Rust did not allow this before.

changelog: Extend `use_self` to check constructor
2019-09-10 07:32:11 +00:00
bors
c733376a5f Auto merge of #4522 - mikerite:fix-4514, r=phansch
Fix `or_fun_call` bad suggestion

Closes #4514

changelog: Fix `or_fun_call` bad suggestion
2019-09-09 15:38:59 +00:00
bors
8af4e09605 Auto merge of #4458 - flip1995:block_in_if_ext_macro, r=phansch
Allow block_in_if_{stmt,expr} in external macro

I found this by running `cargo fix --clippy` on quite a big codebase.

You could refactor this assert to
```rust
let block_expr = _;
assert!(block_expr);
```

but,
1. it doesn't increase the readability IMO
2. That isn't possible in a `debug_assert!`

I'm not sure though, if we should allow this for macros in general or just for external macros.

changelog: Allow `block_in_if_{stmt,expr}` in external macros
2019-09-09 14:55:33 +00:00
Lzu Tao
ca1c0aa819 Add a regression test for proc-macro attribute 2019-09-09 16:14:32 +07:00
Michael Wright
31fbff2a36 Extend use_self to check constructor
Rust did not allow this before.
2019-09-09 07:51:44 +02:00
Michael Wright
f88c224d82 Merge branch 'master' into fix-4514 2019-09-09 07:36:30 +02:00
Matthew Jasper
a2477f7759 Remove use of the HIR CFG 2019-09-08 16:27:54 +01:00
Michael Wright
9bdfd0683f Fix or_fun_call bad suggestion
Closes #4514
2019-09-08 11:03:45 +02:00
bors
313b41fac5 Auto merge of #4489 - JohnTitor:fix-redundant-pattern-false-positive, r=flip1995
Fix `redundant_pattern` false positive

Fix #4428

changelog: Fix `redundant_pattern` false positive
2019-09-05 16:15:36 +00:00
Yuki Okushi
0b3f452764 Run rustfix 2019-09-05 22:45:52 +09:00
bors
e3ae76aeac Auto merge of #4495 - JohnTitor:fix-map-entry-false-positive, r=phansch
Fix `map_entry` false positive

Fixes #4219

changelog: Fix `map_entry` false positive
2019-09-04 16:25:49 +00:00
Yuki Okushi
8be37fdb1d Make it auto fixable lint 2019-09-05 00:50:22 +09:00
Yuki Okushi
e236740f28 Fix redundant_pattern false positive 2019-09-05 00:36:48 +09:00
Yuki Okushi
5c760f0555 Improve tests 2019-09-05 00:24:45 +09:00
bors
98a25241cc Auto merge of #4487 - JohnTitor:deref-addrof-external-macro, r=flip1995
Don't check across macro boundary in `deref_addrof`

Fixes #4289

changelog: Allow `deref_addrof` in macros
2019-09-04 15:01:06 +00:00
bors
9d2772207e Auto merge of #4418 - euclio:byte-lit-suggestion, r=flip1995
use a structured suggestion for char-lit-as-u8

changelog: use a structured suggestion for char-lit-as-u8
2019-09-04 13:33:47 +00:00
Andy Russell
4ea246b0b3
use a structured suggestion for char-lit-as-u8 2019-09-04 08:50:55 -04:00
bors
ffe57fad85 Auto merge of #4498 - sinkuu:checked_arithmetic_unwrap, r=flip1995
Add manual_saturating_arithmetic lint

changelog: add `manual_saturating_arithmetic` lint

Fixes #1557. This lint detects manual saturating arithmetics like `x.checked_add(10u32).unwrap_or(u32::max_value())` and suggests replacing with `x.saturating_add(10u32)`.
2019-09-04 12:14:41 +00:00
bors
a2c4b2b8da Auto merge of #4490 - mikerite:fix-4364, r=flip1995
Fix `too_many_lines` false positive

changelog: Fix `too_many_lines` false positive
2019-09-04 11:35:13 +00:00
Shotaro Yamada
4960f79476 Add manual_saturating_arithmetic lint 2019-09-04 18:38:25 +09:00
bors
8239b7616f Auto merge of #4454 - BO41:search_is_some, r=flip1995
Dereference one less on search_is_some and make it auto-fixable

Fixes #4453

changelog: none
2019-09-04 07:53:44 +00:00
BO41
64cd9e4d60 Try to fix .fixed 2019-09-03 18:56:23 +02:00
bors
11da8c18a2 Auto merge of #4479 - rust-lang:uninit_assume_init, r=flip1995
lint against `MaybeUninit::uninit().assume_init()`

changelog: add `uninit_assumed_init` lint

This fixes #4272
2019-09-03 16:14:40 +00:00
Andre Bogus
b01f2d1126 lint against MaybeUninit::uninit().assume_init() 2019-09-03 17:37:38 +02:00
Yuki Okushi
c94c5e9048 Fix map_entry false positive 2019-09-03 20:31:02 +09:00
Michael Wright
0ae1a69330 Fix too_many_lines false positive
Fixes #4364
2019-09-03 06:25:54 +02:00
Yuki Okushi
9a5b996228 Allow deref_addrof in macros 2019-09-03 00:17:23 +09:00
Cristian Kubis
9041856ab9 Add more UI tests for swap
These tests make sure that the swap warning will not be triggered
for expressions that will cause multiple mutable references of the
same owner
2019-09-02 14:15:52 +02:00
Michael Wright
2fdfd60569 Fix needless_lifetimes false positive 2019-09-01 08:11:40 +02:00
Michael Wright
4458bef5d1 Simplify issue-4291 test 2019-09-01 07:55:29 +02:00
Michael Wright
88750f9ad7 Fix extra_unused_lifetimes false positive
Fixes #4291
2019-08-31 08:16:04 +02:00
bors
a3fcaee562 Auto merge of #4473 - phansch:fix_cast_lossless_fp, r=flip1995
Fix cast_lossless false positive in impl const fn

Fixes https://github.com/rust-lang/rust-clippy/issues/3656#issuecomment-526387382

changelog: Fix false positive in `cast_lossless`
2019-08-30 20:30:53 +00:00
bors
2bff3d87d5 Auto merge of #4446 - mikerite:fix-4437, r=phansch
Fix `match_as_ref` bad suggestion

Fixes #4437

changelog: Fix `match_as_ref` bad suggestion
2019-08-30 06:07:41 +00:00
Philipp Hansch
fb1ae1747f
Fix cast_lossless false positive in impl const fn
Fixes https://github.com/rust-lang/rust-clippy/issues/3656#issuecomment-526387382
2019-08-30 07:22:35 +02:00
bors
28a8a6a483 Auto merge of #4450 - phansch:fix_const_fn_fp, r=flip1995
Fix missing_const_for_fn false positive

We don't want to lint if the type of the method implements drop.
(constant functions cannot evaluate destructors)

changelog: Fix `missing_const_for_fn` false positive

Fixes #4449
2019-08-29 17:24:21 +00:00
Philipp Hansch
5e1fdf9ae6
Add missing UI test change 2019-08-29 18:37:43 +02:00
flip1995
6bbf418747
Fix tests 2019-08-29 17:34:33 +02:00
BO41
945d4cf69f
Dereference one less on search_is_some and make it auto-fixable 2019-08-29 17:34:02 +02:00
bors
888b736560 Auto merge of #4408 - phansch:more_rustfix_tests, r=flip1995
More rustfix tests

<!--
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 `./util/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 -->

cc #3630

This is probably easier reviewed per-commit.

changelog: none
2019-08-29 10:48:14 +00:00
Victor Polevoy
87ef86ef5a Improve cognitive_complexity lint's warning.
Adds the value of complexity limit set for the lint
to the warning.

Fixes #4466

Signed-off-by: Victor Polevoy <fx@thefx.co>
2019-08-29 11:54:18 +02:00
Michael Wright
0c8332558b Merge branch 'master' into fix-4437 2019-08-29 08:17:36 +02:00
Philipp Hansch
1b18597554
Fix missing_const_for_fn false positive
We don't want to lint if any of the input parameters implement drop.

(constant functions cannot evaluate destructors)
2019-08-29 08:07:41 +02:00
Philipp Hansch
eeeadf30bf
Make useless_attribute suggestion MaybeIncorrect 2019-08-28 21:17:12 +02:00
Philipp Hansch
f41677902d
Update int_plus_one suggestion text
This is now in line with the recommendations from here:
https://doc.rust-lang.org/nightly/nightly-rustc/rustc_errors/struct.Diagnostic.html#method.span_suggestion
2019-08-28 07:29:30 +02:00
Philipp Hansch
8a161d71f8
Add run-rustfix for rename test
I removed the `Bar` static and `Foo` impl because they are not needed
for what's tested here as far as I can tell.
2019-08-28 07:23:23 +02:00
Philipp Hansch
dea92fada5
Add run-rustfix for outer_expn_data 2019-08-28 07:23:23 +02:00
Philipp Hansch
a3418933c6
Add run-rustfix for useless_attribute test 2019-08-28 07:23:23 +02:00
Philipp Hansch
b6e87c6ae3
Add run-rustfix for int_plus_one test 2019-08-28 07:23:23 +02:00
Philipp Hansch
cb341c8090
Add run-rustfix for assign_ops test 2019-08-28 07:23:23 +02:00
Yuki Okushi
1dca950ac4 Fix inherent_to_string false positive 2019-08-28 06:46:26 +09:00
flip1995
e7d8cf8511
Add test for external macro 2019-08-27 09:43:19 +02:00
bors
949b347f65 Auto merge of #4444 - phansch:split_up_cmp_owned2, r=flip1995
Split up cmp_owned tests, add run-rustfix

Some of the cmp_owned tests emitted non-machine-applicable suggestions,
so I moved them to `tests/ui/cmp_owned/without_suggestion.rs` and added
`// run-rustfix` to the other half.

changelog: none

cc #3630
2019-08-26 14:32:12 +00:00
bors
fea888f2ec Auto merge of #4445 - phansch:fix_unused_unit_sugg, r=flip1995
Fix unused_unit false positive

changelog: Fix `unused_unit` false positive

For some reason the `expr` of `stmt.node` didn't contain the expansion information, but the `stmt.span` does.

Fixes #4076
2019-08-26 13:29:01 +00:00
Philipp Hansch
6d425a60a7
Use correct path in comment
Co-Authored-By: Philipp Krones <hello@philkrones.com>
2019-08-26 15:28:35 +02:00
bors
f760088820 Auto merge of #4430 - lzutao:defid_trait_alias, r=flip1995
Account for trait alias when looking for defid

I hit the crash on the `expect` call when running clippy on rustc libcore.
Hopefully this will fix it.
changelog: none
2019-08-26 12:46:00 +00:00
Lzu Tao
c222e7eca7
Add regression test for looking for trait defid in nocore 2019-08-26 14:45:28 +02:00
bors
b8e5e6f3c2 Auto merge of #4421 - lzutao:unsep_literal, r=flip1995
Cleaner code for unsep literals

Continuing discussion in https://github.com/rust-lang/rust-clippy/pull/4401#issuecomment-522498754
changelog: none
r? @flip1995
2019-08-26 10:32:24 +00:00
bors
7f15607e9a Auto merge of #4451 - hvenev:non-exec, r=flip1995
Mark rust source file as non-executable.

It would be nice if you can backport this to beta as well.

changelog: none
2019-08-26 09:53:34 +00:00
bors
d089032331 Auto merge of #4431 - phansch:more_rustfix, r=flip1995
Add 3 more run-rustfix headers

changelog: none

cc #3630
2019-08-26 09:15:20 +00:00
Lzu Tao
c1a4b26406 Cleaner code for unsep literals 2019-08-26 16:11:43 +07:00
flip1995
0fc8eaf294
Remove empty *.std{err,out} files 2019-08-26 10:22:34 +02:00
Hristo Venev
2a009b0ebf Mark rust source file as non-executable. 2019-08-25 17:49:45 +00:00
Michael Wright
23336adf84 Fix match_as_ref bad suggestion
Fixes #4437
2019-08-25 07:10:45 +02:00
Philipp Hansch
957dedb11d
Fix unused_unit false positive
Fixes #4076
2019-08-24 22:09:02 +02:00
Philipp Hansch
9a0b598b73
Split up cmp_owned tests, add run-rustfix
Some of the cmp_owned tests emitted non-machine-applicable suggestions,
so I moved them to `tests/ui/cmp_owned/without_suggestion.rs` and added
`// run-rustfix` to the other half.

cc #3630
2019-08-24 10:38:45 +02:00
Lzu Tao
f717a77ecc Re-add false positive check 2019-08-23 09:16:50 +00:00
Lzu Tao
ce2d2920ef Add raw string regression test for useless_format lint 2019-08-23 09:16:50 +00:00
Lzu Tao
09d302a786 Re-factor useless_format lint 2019-08-23 09:16:50 +00:00
Lzu Tao
4134e608c5 Update Unicode lint tests 2019-08-23 05:42:45 +00:00
Philipp Hansch
55aa9d2767
Add run-rustfix for range_plus_minus_one tests 2019-08-22 07:47:30 +02:00
Philipp Hansch
18fb1d9d2f
Add run-rustfix for or_fun_call tests 2019-08-22 07:41:00 +02:00
Philipp Hansch
9bda1e2264
Add run-rustfix for short_circuit_statement test 2019-08-22 07:21:29 +02:00
bors
57c67a29d2 Auto merge of #4352 - phansch:fix_redundant_pattern_matching, r=flip1995
Fix some suggestions for redundant_pattern_matching

.. and change the Applicability to `MaybeIncorrect`.

Fixes the problem displayed in https://github.com/rust-lang/rust-clippy/issues/4344#issuecomment-519206388.

We now append `{}` to the suggestion so that the conditional has the
correct syntax again.

(If we were to _remove_ the `if` instead, it would trigger the
`unused_must_use` warning for `#[must_use]` types.)

changelog: Fix some suggestions for `redundant_pattern_matching`
2019-08-21 08:15:36 +00:00
Philipp Hansch
436d429d27
Add two more tests, allow 2 other lints. 2019-08-21 07:43:42 +02:00
Michael Wright
59893bcab0 Fix temporary_cstring_as_ptr false negative
Fixes #4375.

Changes the check to test when `.unwrap().as_ptr()` is called on any
`Result<CString, _>` as suggested by @flip1995
(https://github.com/rust-lang/rust-clippy/issues/4375#issuecomment-520724123).
2019-08-21 07:35:04 +02:00
Philipp Hansch
84716e49f0
Add more testcases for redundant_pattern_matching
These should make sure that, when the suggestions are fixed, they are
fixed for all these cases.
2019-08-21 07:29:44 +02:00