Commit graph

2261 commits

Author SHA1 Message Date
Wilco Kusee
95f2a9dbfc Add run-rustfix to mem_replace test 2019-01-13 13:55:26 +01:00
Wilco Kusee
9ff821a7e8 Add run-rustfix to map_clone test 2019-01-13 13:10:25 +01:00
Wilco Kusee
fb90fcb610 Add run-rustfix to large_digit_groups 2019-01-13 12:57:13 +01:00
Wilco Kusee
256b641976 Add run-rustfix to into_iter_on_ref 2019-01-13 12:52:51 +01:00
Wilco Kusee
787f5a2c12 Add run-rustfix to infallible_destructuring_match 2019-01-13 12:49:54 +01:00
Wilco Kusee
87407c5e5f Add rustfix to inconsistent_digit_grouping test 2019-01-13 12:44:21 +01:00
Wilco Kusee
40d9f1d9f4 Add run-rustfix to explicit_write test 2019-01-13 12:22:59 +01:00
Wilco Kusee
9f8fb8007c Add run-rustfix to excessive_precision test 2019-01-13 12:09:30 +01:00
Wilco Kusee
29211be896 Add run-rustfix to duration_subsec test 2019-01-13 12:06:28 +01:00
Wilco Kusee
ea7eb49b47 Disable deprecated_cfg_attr lint for inner attributes 2019-01-13 11:53:43 +01:00
Wilco Kusee
c0083e2b98 Add run-rustfix to collapsible_if test 2019-01-13 11:44:45 +01:00
A.A.Abroskin
a9f8d3c8fd add assert(true/false, some message) tests 2019-01-09 21:30:47 +03:00
Abroskin Alexander
7075015f31
Merge branch 'master' into add-lints-aseert-checks 2019-01-09 13:49:40 +03:00
A.A.Abroskin
906b51637c change assert_checks to assertions_on_constants 2019-01-09 13:38:38 +03:00
Philipp Hansch
38d4ac7cea
Remove all copyright license headers
Discussion previously happened in https://github.com/rust-lang/rust/pull/43498
2019-01-08 21:46:39 +01:00
bors
5b8496603c Auto merge of #3640 - detrumi:nested_use_self, r=flip1995
Restrict `use_self` on nested items

Fixes #3637
Fixes #3463

These changes make it so that nested items aren't visited any more by the `use_self` lint.

I think visiting nested items should be possible (so that it uses a different `item_path` for the nested item), but I'm not sure whether it's viable and what the best approach would be.
- Can `item_path` be changed to a new `Self` path before visiting the item, and then changing it back afterwards?
- Alternatively, could a new visitor be created, re-using `check_trait_method_impl_decl`?
2019-01-07 18:54:28 +00:00
Wilco Kusee
466cd076a2
Rustftmt 2019-01-07 14:38:01 +01:00
Konrad Borowski
6faf1330aa Move a hint to an error message in cast_ref_to_mut lint
This matches mem::transmute::<&T, &mut T> lint in rustc.
2019-01-07 14:37:28 +01:00
Konrad Borowski
1cab4d15a2 Add a note to cast_ref_to_mut lint 2019-01-07 14:37:28 +01:00
Konrad Borowski
34daf09aa4 cast_ref_to_mut lint 2019-01-07 14:37:28 +01:00
Wilco Kusee
351688db78
Improve tests and exclude nested impls 2019-01-07 14:11:53 +01:00
A.A.Abroskin
3d9535a106 Add unreachable!() as option 2019-01-07 13:30:17 +03:00
A.A.Abroskin
98c5f37ad2 Add assert(true) and assert(false) lints 2019-01-07 13:30:17 +03:00
Michael Wright
d2ea6355a8 Update unwrap_get code review suggestions 2019-01-07 06:22:39 +02:00
Wilco Kusee
ff191a808e Restrict use_self on nested items 2019-01-06 15:34:36 +01:00
Michael Wright
4add1e23f9 Improve get_unwrap suggestion
Handle case where a reference is immediately dereferenced.

Fixes 3625
2019-01-06 11:46:03 +02:00
bors
c63b6349b4 Auto merge of #3635 - matthiaskrgr:revert_random_state_3603, r=xfix
Revert the random_state lint.

Remove the random_state lint until it or rustc has been fixed to no longer crash with debug assertions (see #3628)
We can't update clippy in the rustc repo because of this which is blocking nightlies because toolstate is already broken.

fixes #3628
2019-01-05 14:04:31 +00:00
bors
05467abd24 Auto merge of #3626 - phansch:rustfix_works, r=oli-obk
Add run-rustfix where it already works

This PR adds `// run-rustfix` headers to tests for `MachineApplicable` lints where
applying the suggestions works without any errors.
2019-01-05 12:14:30 +00:00
Matthias Krüger
8ff4a1f0a8 Revert "tests: used_underscore_binding_macro: disable random_state lint."
This reverts commit 2b80829fe0.
2019-01-05 10:20:37 +01:00
Matthias Krüger
3389a68834 Revert "Auto merge of #3603 - xfix:random-state-lint, r=phansch"
This reverts commit 0a6593cd1b, reversing
changes made to 5277a1fb6c.

This hopefully fixes #3628
2019-01-05 10:19:04 +01:00
bors
d264e406be Auto merge of #3627 - detrumi:use_self_local_macro, r=phansch
Trigger `use_self` lint in local macros

Closes #2098

The test currently only covers local macros. #2098 suggested this:
> You could add the macro in question into the `mini_macro` subcrate

But that doesn't work for a `macro_rules`:
```
error: cannot export macro_rules! macros from a `proc-macro` crate type currently
```

So I suggest leaving out the test for external macros, as using `in_external_macro` seems straigtforward enough. Alternatives would be to use to add an additional crate (overkill if you ask me), or test with a `proc-macro`.
2019-01-05 08:51:13 +00:00
bors
3bcf67c2cb Auto merge of #3610 - phansch:method_rs_cleanup, r=flip1995
UI test cleanup: Extract lint from methods.rs test

Extracts the `result_map_unwrap_or_else` lint into a separate test file.

This also extracts the `IteratorFalsePositives` struct and impl into
`auxiliary/option_helpers.rs`.

cc #2038
2019-01-05 08:29:25 +00:00
Matthias Krüger
2b80829fe0 tests: used_underscore_binding_macro: disable random_state lint.
Trying to work around a crash (see https://github.com/rust-lang/rust-clippy/issues/3628) in
https://github.com/rust-lang/rust/pull/57303
2019-01-04 17:18:19 +01:00
bors
194a91c45d Auto merge of #3601 - xfix:move-constant-write-lint, r=flip1995
Move constant write checks to temporary_assignment lint

They make more sense here

cc #3595
2019-01-04 14:59:11 +00:00
Wilco Kusee
407ff74dcc
Trigger use_self lint in local macros 2019-01-04 13:01:31 +01:00
Philipp Hansch
319f18e54d
Add run-rustfix where it already passes 2019-01-04 11:22:38 +01:00
Marcin S
5f0d46cd48 Add ui/for_kv_map test for false positive in #1279 2019-01-03 19:07:21 +01:00
bors
5b8b01e8dc Auto merge of #3519 - phansch:brave_newer_ui_tests, r=flip1995
Integrate rustfix into Clippy test suite

Once the [PR to compiletest-rs](https://github.com/laumann/compiletest-rs/pull/151) is reviewed and merged this fixes #2376.

I will create a separate tracking issue for adding `run-rustfix` to all tests.
2019-01-03 15:08:47 +00:00
bors
baec524fac Auto merge of #3617 - matthiaskrgr:3462_test, r=phansch
add testcase for #3462
2019-01-03 11:23:57 +00:00
Matthias Krüger
24ff813f54 add testcase for #3462 2019-01-03 11:40:10 +01:00
bors
0a6593cd1b Auto merge of #3603 - xfix:random-state-lint, r=phansch
random_state lint
2019-01-03 02:00:46 +00:00
bors
84aa027888 Auto merge of #3607 - detrumi:limit_infinite_iter_to_known_types, r=phansch
Only trigger `infinite_iter` lint for infinitely allocating `collect()` calls

Fixes  #3538

~Oh, I guess this should actually check other methods like `count` as well, not only `collect()`.~
Never mind, `collect` is the only of these functions that allocates a data structure.
2019-01-03 00:12:02 +00:00
Philipp Hansch
a5d3f37c5a
Use compiletest's aux-build header instead of include macro 2019-01-02 22:48:44 +01:00
bors
0fc5857d0b Auto merge of #3609 - codeworm96:fix_test, r=phansch
Fix test for rust-lang/rust#57250

Part of rust-lang/rust#57250.
~~Do not merge. Waiting a nightly with that PR merged.~~
2019-01-02 16:40:10 +00:00
bors
3de9a3de54 Auto merge of #3612 - phansch:copies_cleanup, r=flip1995
UI test cleanup: Extract ifs_same_cond tests

cc #2038
2019-01-02 13:20:38 +00:00
Philipp Hansch
c84a894ed7
rustfmt 2019-01-02 08:15:32 +01:00
Philipp Hansch
3b035373b2
UI test cleanup: Extract ifs_same_cond tests 2019-01-02 07:59:48 +01:00
Philipp Hansch
0c54913afe
Extract IteratorFalsePositives into option_helpers.rs
This was previously duplicated in #3605
2019-01-02 07:49:28 +01:00
Philipp Hansch
b38a2d7ce9
UI test cleanup: Extract for_kv_map lint tests 2019-01-02 07:42:04 +01:00
Philipp Hansch
eaaee23847
UI test cleanup: Extract lint from methods.rs test 2019-01-02 07:23:00 +01:00
Yuning Zhang
5f9a65ffd6 Fix test for rust-lang/rust#57250 2019-01-01 20:34:02 -05:00
Wilco Kusee
f38fb56baf Limit infinite_iter collect() check to known types 2018-12-31 13:38:31 +01:00
bors
6f3912850a Auto merge of #3590 - jorpic:i3559-if_same_then_else, r=phansch
Fix if_same_then_else false positive

This fixes false positive in #3559.
The problem was that `SpanlessEq` does not check patterns in declarations. So this two blocks considered equal.
```rust
if true {
    let (x, y) = foo();
} else {
   let (y, x) = foo();
}
```
Not sure if the proposed change is safe as `SpanlessEq` is used extensively in other lints, but I tried hard to come up with counterexample and failed.
2018-12-31 09:25:18 +00:00
Konrad Borowski
11b957e18d Reformat random_state tests 2018-12-30 14:29:43 +01:00
Philipp Hansch
8c4c458ee9
UI test cleanup: Extract iter_skip_next from methods.rs
cc #2038
2018-12-30 13:46:21 +01:00
Max Taldykin
911a752561 Check pattern equality while checking declaration equality 2018-12-30 14:01:56 +03:00
Wilco Kusee
259ec2dc0e Update test output after rebase 2018-12-30 08:23:39 +01:00
Wilco Kusee
1d10de66de Remove false negatives from known problems 2018-12-30 08:23:39 +01:00
Wilco Kusee
ab42ba4f54 Implement use_self for tuple structs 2018-12-30 08:23:38 +01:00
Wilco Kusee
0f3dcdc3aa Document known problems 2018-12-30 08:20:49 +01:00
Konrad Borowski
a6c4eaa93c random_state lint 2018-12-30 02:45:34 +01:00
Konrad Borowski
815e434a1f Move constant write checks to temporary_assignment lint
They make more sense here
2018-12-30 00:25:09 +01:00
bors
ece8b8e7d6 Auto merge of #3598 - xfix:apply-cargo-fix-edition-idioms, r=phansch
Apply cargo fix --edition-idioms fixes
2018-12-29 19:04:11 +00:00
bors
6cba3da727 Auto merge of #3558 - russelltg:new_without_default_merge, r=flip1995
Merge new_without_default_derive into new_without_default

Closes #3525, deprecating new_without_default_derive and moving both lints into new_without_default.
2018-12-29 17:31:35 +00:00
Konrad Borowski
177c639e65 Remove unnecessary use statements after cargo fix 2018-12-29 17:48:21 +01:00
Konrad Borowski
0edb49792f Apply cargo fix --edition-idioms fixes 2018-12-29 17:46:25 +01:00
bors
4d60841205 Auto merge of #3596 - xfix:remove-crate-from-paths, r=flip1995
Remove crate:: prefixes from crate paths

This is somewhat misleading, as those are actually external crates,
and don't need a crate:: prefix.
2018-12-29 16:15:57 +00:00
Konrad Borowski
3f62fc3a7e Remove crate:: prefixes from crate paths
This is somewhat misleading, as those are actually external crates,
and don't need a crate:: prefix.
2018-12-29 16:05:49 +01:00
Konrad Borowski
9fe8a3e52e Support array indexing expressions in unused write to a constant 2018-12-29 15:34:15 +01:00
Konrad Borowski
847898f18f Mark writes to constants as side-effect-less 2018-12-29 15:18:51 +01:00
Philipp Hansch
298aedf2f8
Fix suggestion for unnecessary_ref lint 2018-12-28 20:54:29 +01:00
Philipp Hansch
7d9bf99df1
Update .fixed files via update-references.sh 2018-12-28 20:53:44 +01:00
Philipp Hansch
2ccfd52f5d
Run rustfix on first UI test 2018-12-28 20:53:43 +01:00
Peter Fürstenau
8be7050b74 Fix formatting 2018-12-28 20:52:46 +01:00
Peter Fürstenau
6ee0e22204 Merge remote-tracking branch 'upstream/master' 2018-12-28 20:19:51 +01:00
Russell Greene
d127aed737 Merge new_without_default_derive into new_without_default 2018-12-28 10:57:58 -07:00
flip1995
d2dbd0b8a5
Update *.stderr files 2018-12-28 12:41:12 +01:00
flip1995
9fddb2afce
Use -Zui-testing flag 2018-12-28 12:39:28 +01:00
Matthias Krüger
38fabcbdf2 tests: fix formatting and update test output
fix script one last time™
2018-12-27 17:03:53 +01:00
Andy Russell
cd602c8b18
fix breakage from rust-lang/rust#57088 2018-12-25 16:11:28 -05:00
bors
d9cc71fc42 Auto merge of #3341 - HMPerson1:possibly_missing_else, r=phansch
Teach `suspicious_else_formatting` about `if .. {..} {..}`

We essentially treat bare blocks `{..}` identically to `if .. {..}`, except for different lint messages.

Fixes #3044
2018-12-22 13:26:22 +00:00
Mark Nieweglowski
d395d45ca7 test: panic at map_unit_fn.rs:202 for map() without args 2018-12-22 01:06:02 -05:00
Mark Nieweglowski
a24853709a rm unused file map_unit_fn.stderr
There is no map_unit_fn.rs whose output would be diffed with map_unit_fn.stderr

map_unit_fn.stderr was renamed 8 months ago from option_map_unit_fn.stderr
but option_map_unit_fn.{stderr,rs} both remain and are in use.
2018-12-22 01:04:03 -05:00
HMPerson1
88564b743e
Teach suspicious_else_formatting about if .. {..} {..} 2018-12-20 22:45:37 -05:00
Peter Fürstenau
18584698ee Add failing test 2018-12-19 20:50:18 +01:00
bors
980bcd8c53 Auto merge of #3546 - matthiaskrgr:fix_install, r=oli-obk
Revert "Merge pull request #3257 from o01eg/remove-sysroot"

This reverts commit 041c49c1ed, reversing
changes made to 1df5766cbb.

The PR broke running a cargo-install'd clippy.
The installed clippy would not be able to find a crate for std.

Fixes #3523
Reopens #2874
2018-12-19 12:54:47 +00:00
bors
61de562454 Auto merge of #3554 - klausi:module_name_repeat, r=oli-obk
chore(module_name_repeat): Rename stutter lint to module_name_repeat to avoid ableist language

See #3521
2018-12-18 13:28:12 +00:00
Peter Fürstenau
ee0856cbeb Recomend .as_ref()? in certain situations 2018-12-18 13:57:38 +01:00
bors
176778fe92 Auto merge of #3556 - lucasloisp:bool-ord-comparison, r=oli-obk
Implements lint for order comparisons against bool (#3438)

As described on issue #3438, this change implements linting for `>` and `<` comparisons against both `boolean` literals and between expressions.
2018-12-18 10:11:08 +00:00
Wilco Kusee
24ef8db402
Do not mark as_ref as useless if it's followed by a method call 2018-12-17 21:33:50 +01:00
Lucas Lois
de42dfbab7 Changes lint sugg to bitwise and operator & 2018-12-17 15:32:24 -03:00
flip1995
a44adaa5ed
Rename lint to MODULE_NAME_REPETITIONS 2018-12-17 14:29:19 +01:00
flip1995
60cc6b9319
Add renaming tests 2018-12-17 13:59:09 +01:00
Lucas Lois
bc48890b47 Implements lint for order comparisons against bool 2018-12-16 21:43:32 -03:00
daxpedda
6870638c3f
Fix an endless loop in the tests. 2018-12-16 22:20:05 +01:00
daxpedda
35058287ce
Fix implicit_return false positives. 2018-12-16 15:42:02 +01:00
Klaus Purer
15b9e9f23a chore(moduel_name_repeat): Rename stutter lint to module_name_repeat to avoid ableist language 2018-12-16 14:10:53 +01:00
Matthias Krüger
a9509eb598 Revert "Merge pull request #3257 from o01eg/remove-sysroot"
This reverts commit 041c49c1ed, reversing
changes made to 1df5766cbb.
2018-12-14 21:42:01 +01:00
bors
a416c5e0f7 Auto merge of #3545 - Kampfkarren:vec_boxed_sized, r=flip1995
Adds lint for Vec<Box<T: Sized>>

This adds, and subsequently closes #3530. This is the first time I've ever worked with anything remotely close to internal Rust code, so I'm very much unsure about the if_chain! to figure this out!

I can't get rustfmt working on WSL with nightly 2018-12-07:

`error: component 'rustfmt' for target 'x86_64-unknown-linux-gnu' is unavailable for download`
2018-12-14 12:10:48 +00:00
flip1995
d866f31678
rustup rust-lang/rust#52994
s/trim_left/trim_start/

s/trim_right/trim_end/
2018-12-14 12:35:44 +01:00
Michael Wright
be40d82fea Fix test 2018-12-14 07:24:02 +02:00
Michael Wright
df73348354 Merge branch 'master' into fix-3514 2018-12-14 07:16:26 +02:00
Kampfkarren
db00c3320f Remove references to sized for end users 2018-12-13 10:18:17 -08:00
Kampfkarren
616395f40b Add suggestion for replacement 2018-12-13 09:34:16 -08:00
Kampfkarren
ab070508be Lint for Vec<Box<T: Sized>> - Closes #3530 2018-12-13 07:43:13 -08:00
bors
379c934f3f Auto merge of #3535 - sinkuu:fixes, r=phansch
Fix some problems

Fixes #2892, #3199, #2841, #3476
2018-12-12 19:17:09 +00:00
bors
777c9099e7 Auto merge of #3510 - phansch:fix_doc_markdown_mixed_case, r=flip1995
Fix doc_markdown mixed case false positive

Fixes #2343
2018-12-12 18:36:38 +00:00
Philipp Hansch
778723630c
Fix doc_markdown mixed case false positive 2018-12-12 19:25:27 +01:00
bors
7c823cabab Auto merge of #3450 - phansch:structured_sugg_for_explicit_write, r=flip1995
Add suggestion for explicit_write lint

Closes #2083
2018-12-12 18:11:13 +00:00
Philipp Krones
b7a431ea1d
Rollup merge of #3540 - matthiaskrgr:rustup, r=flip1995
rustup https://github.com/rust-lang/rust/pull/56092

fix ui test cast_alignment failure by adding #![feature(rustc_private)]
2018-12-12 18:17:01 +01:00
Matthias Krüger
016c996e16 rustup https://github.com/rust-lang/rust/pull/56092
fix ui test cast_alignment failure by adding #![feature(rustc_private)]
2018-12-12 17:23:07 +01:00
Shotaro Yamada
eba44e1c67 question_mark: Suggest Some(opt?) for if-else 2018-12-12 18:13:21 +09:00
Shotaro Yamada
eb54c1a9a0 redundant_field_names: Do not trigger on path with type params
Fixes #3476
2018-12-12 17:41:52 +09:00
Philipp Hansch
1cfbadb029
Fix doc_markdown off by one issue 2018-12-12 08:21:13 +01:00
Shotaro Yamada
d2e5a8ccf5 Remove obsolete comment 2018-12-12 16:08:06 +09:00
Shotaro Yamada
bcbbb4d09b new_without_default, partialeq_ne_impl: Use span_lint_node
Fixes #2892, fixes #3199
2018-12-12 16:08:05 +09:00
bors
f26c39bab7 Auto merge of #3533 - phansch:add_to_doc_valid_idents, r=phansch
Add 'CamelCase' to doc_valid_idents

Fixes #2395
2018-12-12 06:46:21 +00:00
Philipp Hansch
194acaf8e7
Update .stderr after rebase 2018-12-12 07:33:23 +01:00
Philipp Hansch
c4c9d9fc62
Add suggestion for explicit_write lint 2018-12-12 07:31:01 +01:00
Matthias Krüger
36266b3e6c test reformatting: revert more questionable changes done by rustfmt and add #[rustfmt::skip] 2018-12-11 20:50:55 +01:00
Philipp Hansch
ee2abc36a3
Add 'CamelCase' to doc_valid_idents 2018-12-11 19:37:43 +01:00
Michael Wright
c6505aa160 Fix write_with_newline escaping false positive
Fixes #3514
2018-12-11 08:44:49 +02:00
Matthias Krüger
743e9e3561 Merge branch 'master' into rustfmt_tests 2018-12-11 01:42:38 +01:00
Matthias Krüger
625ca772b5 tests: fix more cases where rustfmt would have hurt the tests 2018-12-11 01:31:04 +01:00
Matthias Krüger
f1d5194e3d tests: revert some changs and add further rustfmt::skip attributes. 2018-12-11 00:59:59 +01:00
bors
ada0b2b095 Auto merge of #3518 - sinkuu:redundant_clone_tw, r=phansch
Lint redundant clone of fields

Makes `redundant_clone` warn on unnecessary `foo.field.clone()` sometimes (it can detect an unnecessary clone only if the base of projection, `foo` in this case, is not used at all after that). This is enough for cases like `returns_tuple().0.clone()`.
2018-12-10 18:55:49 +00:00
Matthias Krüger
0a6e568f07 test formatting: don't format tests/ui/formatting.rs 2018-12-10 15:46:01 +01:00
Matthias Krüger
7bcc2cd9c8 update test stderr 2018-12-10 08:22:07 +01:00
Shotaro Yamada
109d4b1ab3 Lint redundant clone of projection 2018-12-10 08:48:14 +09:00
Matthias Krüger
435299be30 rustfmt tests 2018-12-09 23:26:16 +01:00
Matthias Krüger
9b839cd4b5 update line numbers of tests 2018-12-09 17:24:08 +01:00
Matthias Krüger
4583d78156 add rustfmt::skip attributes to some tests 2018-12-09 17:21:49 +01:00
Shotaro Yamada
a4fe567602 Fix test
`if true` is recognized by MIR optimization.
2018-12-09 23:51:31 +09:00
Philipp Hansch
43542f8d89
Remove a run-rustfix annotation (for now)
Starting to work on #2376, this annotation got in the way. Going to
remove it for now.
2018-12-09 15:16:36 +01:00
Philipp Hansch
26602ddff4
Merge pull request #3336 from HMPerson1/clone_on_copy_deref
Fix `clone_on_copy` not detecting derefs sometimes
2018-12-08 09:59:02 +01:00
Philipp Hansch
041c49c1ed
Merge pull request #3257 from o01eg/remove-sysroot
Don't try to determine sysroot. rustc_driver will use default value.
2018-12-06 22:11:29 +01:00
Philipp Hansch
c4ef06a9b6
Merge pull request #3497 from daxpedda/master
Fix bug in `implicit_return`.
2018-12-06 14:13:20 +01:00
daxpedda
973d676cd1
Fix bug in implicit_return.
Bug was already covered by test, but test was not checked for.
2018-12-06 12:22:54 +01:00
O01eg
278b94e6db
Fix format. 2018-12-06 13:46:23 +03:00
O01eg
5113de90d1
Add sysroot gettinh code to dogfood tests. 2018-12-06 13:21:45 +03:00
Felix Kohlgrüber
a8a0b236b5 fix #3482 and add ui test for it 2018-12-06 11:07:10 +01:00
O01eg
571d4cc7bf
Add sysroot getting code to tests. 2018-12-06 12:23:47 +03:00
Philipp Hansch
f93591294d
Merge pull request #3494 from daxpedda/master
Added `IMPLICIT_RETURN` lint.
2018-12-06 07:12:01 +01:00
Wayne Warren
0442bb9ce0 Don't change current working directory of cargo tests 2018-12-05 18:18:17 -06:00
Wayne Warren
87d517df5d Use cargo's "PROFILE" envvar and set CLIPPY_DOGFOOD 2018-12-05 18:18:17 -06:00
Wayne Warren
66251c3ece Use dogfood_runner for deterministic test ordering 2018-12-05 18:18:17 -06:00
Wayne Warren
72247d8e2e Fix dogfood tests. 2018-12-05 18:18:17 -06:00
daxpedda
aed2b986e6 Renamed to implicit_return.
Covered all other kinds besides `ExprKind::Lit`.
Added check for replacing `break` with `return`.
2018-12-05 14:39:09 +01:00
daxpedda
978f8c65ee Renamed forced_return to missing_returns.
Better clarification in the docs.
Ran `update_lints`.
2018-12-05 10:54:21 +01:00
daxpedda
d5d6692288 Added FORCED_RETURN lint. 2018-12-05 01:59:09 +01:00
Philipp Krones
3f24cdf10f
Merge pull request #3490 from phansch/extract_single_match_else_ui_test
Extract single_match_else UI test
2018-12-04 14:57:19 +01:00
Philipp Hansch
68bb900eba
Merge pull request #3473 from lucasloisp/additional-bool-comparisons
Adds inequality cases to bool comparison (#3438)
2018-12-04 07:26:29 +01:00
Philipp Hansch
3f72d4d630
Extract single_match_else UI test
There's only one test currently.
I also updated the lint doc with a 'good' example and changed the lint
help text a bit.

cc #2038
2018-12-04 07:20:13 +01:00
Lucas Lois
3930148059 Adds inequality cases to bool comparison lint
The lint now checks cases like `y != true`
2018-12-03 16:32:11 -03:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
c00210d7ba
Merge pull request #3478 from dtolnay/setlen
Remove unsafe_vector_initialization lint
2018-12-03 12:42:31 +01:00
David Tolnay
e632a1946e
Remove unsafe_vector_initialization lint 2018-12-03 02:48:37 -08:00
David Tolnay
1a14cb3643
Keep testing large_digit_groups as ui test 2018-12-01 17:23:53 -08:00
David Tolnay
67f9d24c1b
Keep testing unsafe_vector_initialization as ui test 2018-12-01 17:19:39 -08:00
flip1995
2953ae0702
Run rustfmt on the tests 2018-11-27 21:11:50 +01:00
flip1995
0c6483bf21
Update stderr file 2018-11-27 15:29:23 +01:00
Guillem Nieto
5fa04bc3cd Lint only the first statment/expression after alloc
Instead of searching for all the successive expressions after a vector
allocation, check only the first expression.

This is done to minimize the amount of false positives of the lint.
2018-11-25 14:34:23 -08:00
Guillem Nieto
5b77ee95dc Rename some symbols
Renamed some symbols in order to make them a little bit more accurate.
2018-11-25 14:34:23 -08:00
Guillem Nieto
2753f1cbd4 Split lint into slow and unsafe vector initalization 2018-11-25 14:34:23 -08:00
Guillem Nieto
9b4bc3b6ef Add unsafe set_len initialization 2018-11-25 14:34:23 -08:00
Guillem Nieto
e0ccc9d9af Add slow zero-filled vector initialization lint
Add lint to detect slow zero-filled vector initialization. It detects
when a vector is zero-filled with extended with `repeat(0).take(len)`
or `resize(len, 0)`.
This zero-fillings are usually slower than simply using `vec![0; len]`.
2018-11-25 14:34:23 -08:00
Matthias Krüger
f5929e0797 rust-lang-nursery/rust-clippy => rust-lang/rust-clippy 2018-11-22 04:40:09 +01:00
Wayne Warren
ca4803101f Update trivially_copy_pass_by_ref with Trait stderr output 2018-11-21 07:52:02 -06:00
Wayne Warren
67c32eb2c4 Update trivially_copy_pass_by_ref with Trait examples 2018-11-21 07:52:02 -06:00
flip1995
655a2b4709
Add regression test 2018-11-15 17:06:36 +01:00
Michael Wright
e2e892b59b Fix wrong suggestion for redundant_closure_call
Fixes #1684
2018-11-14 08:01:39 +02:00
Michael Wright
5ade9ff44e Fix use_self false positive on use statements 2018-11-13 06:15:33 +02:00
Michael Wright
460c2b317b Fix use_self false positive
This fixes the first error reported in issue #3410.
2018-11-10 10:57:11 +02:00
Michael Wright
2353f24095 Merge branch 'master' into fix-missing-comma-fp 2018-11-06 07:00:54 +02:00
bors[bot]
7e417d4cbd Merge #3353
3353: float support added for mistyped_literal_suffixes lint r=mikerite a=Maxgy

I implemented the mistyped_literal_suffixes lint for float literals.

```
#![allow(unused_variables)]

fn main() {
    let x = 1E2_32;
    let x = 75.22_64;
}
```
Given the above, the additional check suggests the variables to be written as `let x = 1E2_f32` and `let x = 75.22_f64`.

Fixes #3167 

Co-authored-by: Maxwell Anderson <maxwell.brayden.anderson@gmail.com>
2018-11-05 03:58:15 +00:00
Michael Wright
0c1ffc1d1f Fix possible_missing_comma false positives
`possible_missing_comma` should only trigger when the binary operator has
unary equivalent. Otherwise, it's not possible to insert a comma without
breaking compilation. The operators identified were `+`, `&`, `*` and `-`.

This fixes the specific examples given in issues #3244 and #3396
but doesn't address the conflict this lint has with the style of starting
a line with a binary operator.
2018-11-04 10:02:49 +02:00
bors[bot]
486300b89d Merge #3400
3400: Fix a false-positive of needless_borrow r=phansch a=sinkuu



Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2018-11-03 08:34:13 +00:00
flip1995
318f84ffcf
Update stderr 2018-11-02 19:50:24 +01:00
flip1995
5c1385249e
Rename test files 2018-11-02 19:50:24 +01:00
flip1995
7df7a0a86e
Add tests from rustfmt::skip test file 2018-11-02 19:50:24 +01:00
flip1995
352da1d33d
Add test for non-crate-level inner attributes 2018-11-02 19:49:58 +01:00
flip1995
7bd8c303d3
Add tests 2018-11-02 19:49:58 +01:00
kennytm
2d1c9313b0
Added lints into_iter_on_ref and into_iter_on_array. Fix #1565. 2018-11-02 22:53:56 +08:00
flip1995
faa1db3391
Update stderr 2018-11-02 13:49:10 +01:00
flip1995
4e1102f56c
Add copyright statement© 2018-11-02 13:49:10 +01:00
flip1995
ea4a80f215
Fix typo and indentation 2018-11-02 13:49:10 +01:00
flip1995
8d516b36fe
Add tests for unknwon_clippy_lints lint 2018-11-02 13:49:09 +01:00
Matthias Krüger
df7cff31dc clippy: fix pedantic warnings and run clippy::pedantic lints on the codebase.
Turn on pedantic lints in dogfood and base tests.

needless_bool: fix clippy::items-after-statements
redundant_pattern_matching: fix clippy::similar-names
mods.rs: fix clippy::explicit-iter-loop
returns.rs: allow clippy::cast-possible-wrap

Fixes #3172
2018-11-02 12:16:43 +01:00
bors[bot]
ae137d526c Merge #3397 #3398
3397: UI test cleanup: Extract expect_fun_call tests r=matthiaskrgr a=phansch

Note that the new stderr file does not include a `shadow-unrelated`
error, because the new UI test file does not use `#![warn(clippy::all)]`

cc #2038 

3398: UI test cleanup: Extract match_overlapping_arm tests r=matthiaskrgr a=phansch

cc #2038

Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-11-02 07:34:38 +00:00
Shotaro Yamada
d4370f8b07 Fix a false-positive of needless_borrow 2018-11-02 15:58:54 +09:00
Philipp Hansch
e5af43d426
UI test cleanup: Extract match_overlapping_arm tests 2018-11-02 07:19:30 +01:00
Philipp Hansch
26569f3dde
UI test cleanup: Extract expect_fun_call tests
Note that the new stderr file does not include a `shadow-unrelated`
error, because the new UI test file does not use `#![warn(clippy::all)]`
2018-11-02 07:18:56 +01:00
Maxwell Anderson
3c22b2314c Merge remote-tracking branch 'upstream/master' 2018-10-31 16:48:47 -06:00
bors[bot]
6a165e5a92 Merge #3392
3392: UI test cleanup: Extract for_loop_over_x tests r=matthiaskrgr a=phansch

cc #2038

Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-10-31 21:08:34 +00:00
bors[bot]
c8308c92b6 Merge #3378
3378: Fix lint_without_lint_pass r=phansch a=mikerite



Co-authored-by: Michael Wright <mikerite@lavabit.com>
Co-authored-by: flip1995 <hello@philkrones.com>
2018-10-31 07:18:42 +00:00
bors[bot]
b144c7f35d Merge #3370
3370: bool_comparison triggers 3 times on same code r=phansch a=mrbuzz

Fix #3335 

Co-authored-by: Giorgio Gambino <gambnio.giorgio@gmail.com>
2018-10-31 06:48:49 +00:00
Philipp Hansch
b421f5ad48
UI test cleanup: Extract for_loop_over_x tests 2018-10-30 21:25:34 +01:00
flip1995
3d84ffb5ec
Update .stderr file 2018-10-29 20:55:52 +01:00
flip1995
a7fc6799df
Rewrite registered lint collection 2018-10-29 20:44:45 +01:00
Michael Wright
267d5d3433
Fix lint_without_lint_pass 2018-10-29 20:28:06 +01:00
Matthias Krüger
be7656d992 compiletest: clean rmeta data (from "cargo check") before running compiletest.
Fixes #2896
Fixes #2139
2018-10-29 12:29:40 +01:00
bors[bot]
00ed70526a Merge #3373
3373: UI test cleanup: Extract unnecessary_operation tests r=matthiaskrgr a=phansch

cc #2038 

Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-10-28 22:52:21 +00:00
Philipp Hansch
18b122005f
UI test cleanup: Extract explicit_counter_loop tests 2018-10-28 18:56:49 +01:00
Philipp Hansch
7adc8dc956
UI test cleanup: Extract unnecessary_operation tests 2018-10-28 18:40:29 +01:00
bors[bot]
14d2700b6f Merge #3217 #3366
3217: Fix string_lit_as_bytes lint for macros r=phansch a=yaahallo

Prior to this change, string_lit_as_bytes would trigger for constructs
like `include_str!("filename").as_bytes()` and would recommend fixing it
by rewriting as `binclude_str!("filename")`.

This change updates the lint to act as an EarlyLintPass lint. It then
differentiates between string literals and macros that have bytes
yielding alternatives.

Closes #3205

3366: Don't expand macros in some suggestions r=oli-obk a=phansch

Fixes #1148 
Fixes #1628
Fixes #2455
Fixes #3023
Fixes #3333
Fixes #3360

Co-authored-by: Jane Lusby <jlusby42@gmail.com>
Co-authored-by: Philipp Hansch <dev@phansch.net>
2018-10-28 17:13:34 +00:00
Giorgio Gambino
62f16803e8 Fix #3335 rev1: bool_comparison triggers 3 times on same code 2018-10-28 16:28:17 +01:00
Giorgio Gambino
7cfde9cfa9 Fix #3335: bool_comparison triggers 3 times on same code 2018-10-28 15:37:39 +01:00
Maxwell Anderson
183e19a1c3 Merge remote-tracking branch 'upstream/master' 2018-10-27 12:50:12 -06:00
Philipp Hansch
840e50e97f
Don't expand macro in or_fun_call suggestion 2018-10-27 15:47:56 +02:00
Philipp Hansch
af1548f58f
Don't expand macro in single_match suggestion 2018-10-27 15:47:56 +02:00
Philipp Hansch
aa7bcb9074
Don't expand macro in identity_conversion suggestion 2018-10-27 15:47:56 +02:00
Jane Lusby
19ac2e94c6 fix: correctly reconstruct raw strings 2018-10-26 09:12:01 -07:00
Jane Lusby
f9020bb2dd fix: extra semicolon, only create callsite once 2018-10-26 09:12:01 -07:00
Jane Lusby
c209fc9349 Fix string_lit_as_bytes lint for macros
Prior to this change, string_lit_as_bytes would trigger for constructs
like `include_str!("filename").as_bytes()` and would recommend fixing it
by rewriting as `binclude_str!("filename")`.

This change updates the lint to act as an EarlyLintPass lint. It then
differentiates between string literals and macros that have bytes
yielding alternatives.

Closes #3205
2018-10-26 09:12:01 -07:00
bors[bot]
457e7f12e9 Merge #3355
3355: Lint to remove redundant `clone()`s r=oli-obk a=sinkuu

This PR adds lint `redundant_clone`. It suggests to remove redundant `clone()` that clones a owned value that will be dropped without any usage after that.

Real-world example: https://github.com/rust-lang/rust/compare/7b0735a..sinkuu:redundant_clone2

Co-authored-by: Shotaro Yamada <sinkuu@sinkuu.xyz>
2018-10-26 10:36:43 +00:00
bors[bot]
ead29847ff Merge #3357
3357: Check existential types in `use_self` r=oli-obk a=HMPerson1

Fixes #3231

Co-authored-by: HMPerson1 <hmperson1@gmail.com>
2018-10-26 08:48:12 +00:00
Shotaro Yamada
9a150b4aa1 Use lint_root 2018-10-26 01:16:14 +09:00
Shotaro Yamada
105ae712f4 update_references indexing_slicing 2018-10-26 01:16:14 +09:00
Shotaro Yamada
3ca0895920 Add redundant_clone lint 2018-10-26 01:15:55 +09:00
bors[bot]
a87e1b02ab Merge #3331
3331: Disable arithmetic lints in constant items r=oli-obk a=pengowen123

Currently this will not catch cases in associated constants. I'm not sure whether checking spans is the best way to solve this issue, but I don't think it will cause any problems.
Fixes #1858

Co-authored-by: Owen Sanchez <pengowen816@gmail.com>
2018-10-25 09:38:00 +00:00
HMPerson1
d53e6f87e9
Add tests for more than one level of reference 2018-10-24 23:39:55 -04:00
HMPerson1
1a6bfecf38
Add test case for mem::discriminant inside a macro 2018-10-24 23:39:55 -04:00
HMPerson1
aabf8083bd
Add lint for calling mem::discriminant on a non-enum type 2018-10-24 23:39:54 -04:00
HMPerson1
3db14f182c
Check existential types in use_self 2018-10-24 23:32:33 -04:00
Owen Sanchez
0b9e9c9e3d Disable arithmetic lints in constant items 2018-10-24 20:27:26 -07:00
bors[bot]
4c6201dceb Merge #3312
3312: OUT_OF_BOUNDS_INDEXING false negative r=phansch a=JoshMcguigan

fixes #3102

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2018-10-24 21:17:43 +00:00
bors[bot]
bce190558f Merge #3338
3338: new_ret_no_self false positives r=flip1995 a=JoshMcguigan

~~WORK IN PROGRESS~~

I plan to fix all of the false positives in #3313 in this PR, but I wanted to open it now to start gathering feedback.

In this first commit, I've updated the lint to allow tuple return types as long as `Self` shows up at least once, in any position of the tuple. I believe this is the broadest possible interpretation of what should be allowed for tuple return types, but I would certainly be okay making the lint more strict. 

fixes #3313 

Co-authored-by: Josh Mcguigan <joshmcg88@gmail.com>
2018-10-24 14:42:40 +00:00
Josh Mcguigan
30ffc17ef7 new_ret_no_self added test cases 2018-10-24 06:43:21 -07:00
bors[bot]
03f8899fa5 Merge #3350
3350: Don't emit `new_without_default_derive` if an impl of Default exists regardless of generics r=oli-obk a=pengowen123

Fixes #2226

Co-authored-by: Owen Sanchez <pengowen816@gmail.com>
2018-10-24 07:59:06 +00:00
Owen Sanchez
50b9e7aebc Don't emit new_without_default_derive if an impl of Default exists 2018-10-23 20:44:31 -07:00
Maxwell Anderson
6a695ffb3d added float support for mistyped literal lints 2018-10-23 15:54:27 -06:00
Josh Mcguigan
a624583557 new_ret_no_self added test cases 2018-10-20 06:29:17 -07:00
HMPerson1
553d01d9c7
Update ui/for_loop test output 2018-10-19 17:17:13 -04:00
HMPerson1
2e9172aea2
Check for known array length in needless_range_loop 2018-10-19 16:34:16 -04:00
HMPerson1
2a9dec681f
Fix suggestion for multiple derefs 2018-10-19 14:51:25 -04:00
Josh Mcguigan
097df8f223 new_ret_no_self correct false positive on raw pointer return types 2018-10-19 05:20:33 -07:00
Josh Mcguigan
6e75050be0 new_ret_no_self correct linting of tuple return types 2018-10-19 04:55:06 -07:00
HMPerson1
a2be050965
Fix clone_on_copy not detecting derefs sometimes 2018-10-19 00:03:56 -04:00
Maxwell Anderson
9f637288cf Merge remote-tracking branch 'upstream/master' 2018-10-18 15:45:05 -06:00
Lukas Stevens
5614dcb4ea Support multiline comments and hopefully fix panic 2018-10-18 18:57:16 +02:00
Lukas Stevens
8753e568bf Check for comments in collapsible ifs 2018-10-18 18:00:21 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
1264bb6b7d
Merge pull request #3323 from pengowen123/fix_manual_memcpy
Simplify manual_memcpy suggestion in some cases
2018-10-18 09:44:24 +02:00
Philipp Hansch
284c63e84d
Merge pull request #3281 from CYBAI/redundant-match
Add lint for redundant pattern matching for explicit return boolean
2018-10-17 07:31:09 +02:00
CYBAI
66ae3b1249 Rename if_let_redundant_pattern_matching to redundant_pattern_matching
Also, making the old one deprecated
2018-10-17 11:20:42 +08:00
CYBAI
3b7c88888b Add lint for redundant pattern matching for explicit return boolean 2018-10-17 11:14:37 +08:00
Giorgio Gambino
aa88e68902 Fix issue #3322: reword help message for len_zero 2018-10-16 23:23:31 +02:00
Owen Sanchez
8c902d1cf2 Simplify manual_memcpy suggestion in some cases 2018-10-16 12:38:23 -07:00
Bruno Kirschner
2d8b4f3d5c Avoid linting boxed_local on trait implementations. 2018-10-15 20:34:45 +02:00
Josh Mcguigan
66d3672b26 out_of_bounds_indexing improved reporting of out of bounds value 2018-10-15 04:44:39 -07:00
Owen Sanchez
456843f1cd Swap order of methods in needless_range_loop suggestion in some cases 2018-10-14 20:14:16 -07:00
Josh Mcguigan
0f3345e8b2 OUT_OF_BOUNDS_INDEXING fix #3102 false negative 2018-10-13 13:51:53 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
601cc9d2c5
Merge pull request #3310 from JoshMcguigan/explicit_counter_loop-3308
explicit_counter_loop fix #3308 false positive
2018-10-13 20:11:50 +02:00
Josh Mcguigan
c6f79c7ba0 explicit_counter_loop fix #3308 false positive 2018-10-13 06:57:52 -07:00
Josh Mcguigan
3f386d33f9 new_ret_no_self test remove tool lints cfg flag 2018-10-13 06:33:46 -07:00
Josh Mcguigan
348d18ebd8 Removed new_ret_no_self tests from method.rs 2018-10-13 06:25:10 -07:00
Josh Mcguigan
a5e4805ecf new_ret_no_self correctly lint impl return 2018-10-13 06:20:39 -07:00
Josh Mcguigan
1c4fa419f3 new_ret_no_self fix false positive for impl trait return with associated type self 2018-10-13 06:20:39 -07:00
Josh Mcguigan
13ce96c4bf new_ret_no_self corrected panic and added test stderr 2018-10-13 06:20:39 -07:00
Josh Mcguigan
eb854b233c new_ret_no_self added positive test cases 2018-10-13 06:20:39 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
8b12eee112
Merge pull request #3233 from rust-lang-nursery/unused-unit
new lint: unused_unit
2018-10-13 09:30:19 +02:00
Andre Bogus
e8687a6677 unused unit lint 2018-10-13 00:42:55 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
d445dbfe16
Merge pull request #3291 from JoshMcguigan/cmp_owned-3289
cmp_owned wording and false positive
2018-10-12 15:07:12 +02:00
Josh Mcguigan
c9718fa589 cmp_owned correct error message if rhs is deref 2018-10-12 04:34:41 -07:00
Maxwell Anderson
63fbeaab68 Merge remote-tracking branch 'upstream/master' 2018-10-11 22:16:05 -06:00
Maxwell Anderson
9fad38dca9 tmp progress 2018-10-11 22:15:01 -06:00
Josh Mcguigan
0b65462ca5 cmp_owned current suggestion for multiple deref 2018-10-11 05:03:02 -07:00
Oliver Scherer
9d3373137b Remove now-useless allow(unknown_lints) 2018-10-11 12:18:27 +02:00
Oliver Scherer
b8654eaa6c Stabilize tool lints 2018-10-11 12:16:22 +02:00
mikerite
31eb3b73d3
Merge pull request #3127 from mikerite/fix-2937
Fix 2937
2018-10-11 06:22:02 +02:00
Karim SENHAJI
f9e4f5695d Limit commutative assign op lint to primitive types 2018-10-10 19:10:44 +02:00
Josh Mcguigan
d41615548e cmp_owned add test for multiple dereference 2018-10-10 04:51:06 -07:00
Michael Wright
7499cb543d Fix #2937 2018-10-10 07:52:58 +02:00
Josh Mcguigan
b0d7aea946 Fixes 3289, cmp_owned wording and false positive 2018-10-09 19:25:03 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
f6882ede4d
Merge pull request #3287 from JoshMcguigan/cmp_owned-2925
cmp_owned false positive
2018-10-09 10:01:31 +02:00
Josh Mcguigan
ad5c29a445 Fixes #2925 cmp_owned false positive 2018-10-08 19:04:29 -07:00
Matthias Krüger
a578cb2d62 if_let_redundant_pattern_matching: use Span.to() instead of Span.with_hi() to fix crash.
Fixes #3064
2018-10-08 17:34:43 +02:00
Rotem Yaari
1ef32e4096 Improve diagnostics in case of lifetime elision (closes #3284) 2018-10-08 13:07:21 +03:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
02705d4cf5
Merge pull request #3282 from JoshMcguigan/excessive_precision-2840
Fix excessive_precision false positive
2018-10-08 08:24:13 +02:00
Ryan Cumming
9bd4e5469e Don't suggest cloned() for map Box deref
Boxes are a bit magic in that they need to use `*` to get an owned value
out of the box. They implement `Deref` but that only returns a
reference. This means an easy way to convert an `Option<Box<T>>` to an
`<Option<T>` is:

```
box_option.map(|b| *b)
```

However, since b36bb0a6 the `map_clone` lint is detecting this as an
attempt to copy the box. Fix by excluding boxes completely from the
deref part of this lint.

Fixes #3274
2018-10-08 06:20:32 +11:00
Josh Mcguigan
8a77a25b8a Fix excessive_precision false positive 2018-10-07 11:38:20 -07:00
Philipp Hansch
63ceabf0cf
Merge pull request #3280 from d-dorazio/fix-new_without_default-should-not-fire-unsafe-new
new_without_default should not warn about unsafe new
2018-10-07 13:09:37 +01:00
Philipp Hansch
d365742bc6
Fix FP in fn_to_numeric_cast_with_truncation
We only want this lint to check casts to numeric, as per the lint title.
Rust already has a built-in check for all other casts
[here][rust_check].

[rust_check]: 5472b0718f/src/librustc_typeck/check/cast.rs (L430-L433)
2018-10-07 12:50:36 +02:00
Daniele D'Orazio
59c4ff77f1 new_without_default should not warn about unsafe new 2018-10-07 12:39:54 +02:00
Manish Goregaokar
e9c025ea70 Add license header to Rust files 2018-10-06 09:43:08 -07:00
Manish Goregaokar
75965030c7
Merge pull request #3251 from rust-lang-nursery/relicense-rewrite
[do not merge] Relicensing rewrite
2018-10-05 20:14:55 +02:00
Philipp Hansch
8407957ec6
Fix fn_to_numeric_cast UI tests
This collapses both lint tests into one file.
Somehow allowing the other lint in the respective files did not work
correctly. Maybe that's fixed as part of fixing #3198.
2018-10-05 07:49:08 +02:00
Philipp Hansch
1544a1a681
Merge remote-tracking branch 'origin/master' into relicense-rewrite 2018-10-05 07:18:24 +02:00
Joel Gallant
163780ee0b Solves #3222 by checking the BareFnTy Abi type 2018-10-04 18:49:03 -06:00
Philipp Hansch
8b3d2073fa
Only run tests if pointer width is 64bit
If the pointer width of the architechture is 32bit or something else,
then the tests will most likely produce different results.
2018-10-04 22:26:54 +02:00
Philipp Hansch
c0ab8b2531
Reimplement the fn_to_numeric_cast_with_truncation lint 2018-10-04 21:44:16 +02:00
mcarton
5173ed0c03 Don't suggest to_string().to_string in USELESS_FORMAT 2018-10-03 20:59:59 +02:00
Philipp Hansch
f42272102a
Reimplement the fn_to_numeric_cast lint 2018-10-03 12:02:06 +02:00
mcarton
7eebd5b20c Ignore format! with precision in USELESS_FORMAT 2018-10-02 23:57:22 +02:00
mcarton
d18c7b2722 Add test for variable width in USELESS_FORMAT 2018-10-02 23:54:50 +02:00
Oliver Schneider
b36bb0a68d Reimplement the map_clone lint from scratch 2018-10-02 15:13:43 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
11cc8472a9
Merge pull request #3245 from JoshMcguigan/wrong_self_convention-1530
Correct false positive in wrong_self_convention lint for to_mut
2018-10-02 14:54:36 +02:00
Josh Mcguigan
f142098474 Correct false positive in wrong_self_convention lint for to_mut 2018-10-02 04:47:38 -07:00
Manish Goregaokar
057243f16b relicensing: Remove map_clone
This removes the code added in https://github.com/rust-lang-nursery/rust-clippy/pull/427
2018-10-02 12:51:38 +02:00
Manish Goregaokar
fffcd093b2 relicensing: Remove fn_to_numeric_cast, fn_to_numeric_cast_with_truncation
This removes the code added in https://github.com/rust-lang-nursery/rust-clippy/pull/2814
2018-10-02 12:49:27 +02:00
Manish Goregaokar
902aca70bd
Merge pull request #3243 from flip1995/appveyor_disable_dogfood
Disable dogfood under windows until rust-lang-nursery/rustup.rs#1499 is merged
2018-10-02 12:20:14 +02:00
Philipp Hansch
eb5f146f14
Fix 'impossible case reached' ICE 2018-10-01 22:34:52 +02:00
flip1995
14335f372b
Disable dogfood until rust-lang-nursery/rustup.rs#1499 is merged 2018-09-30 12:59:15 +02:00
Michael Wright
50133fbd3a Merge branch 'master' into unnecessary_filter_map 2018-09-30 06:39:56 +02:00
Josh Mcguigan
e25f884e6f Fixes #3180, suppress excessive_precision lint for floats with no decimal part 2018-09-29 07:39:30 -07:00
Michael Wright
c2ee9c29ab Merge branch 'master' into unnecessary_filter_map 2018-09-29 15:27:47 +02:00
Michael Wright
db5c63b77a Move tests into separate file 2018-09-29 13:57:04 +02:00
Philipp Hansch
8e808664fa
Merge pull request #3178 from ms2300/bad_unwrap
Fix for bad get unwrap suggestion
2018-09-28 07:38:00 +01:00
Michael Wright
2f364d9ac5 Merge branch 'master' into unnecessary_filter_map 2018-09-27 06:12:01 +02:00
Matthias Krüger
41d3df7321 tests: dogfood: extend to run with --all-features and clippy::internal enabled.
Run it on rustc_tools_util and clippy_dev as well.
2018-09-26 12:32:20 +02:00
Michael Wright
f5ffac4fce Implement unnecesary_filter_map lint 2018-09-26 06:52:36 +02:00
Jane Lusby
14feb3670f Lint for chaining flatten after map
This change adds a lint to check for instances of `map(..).flatten()`
that can be trivially shortened to `flat_map(..)`

Closes #3196
2018-09-24 14:29:16 -07:00
Michael Wright
ab71f08663 Fix single_char_pattern crash (#3204)
This commit fixes the crash by removing constant checking from the lint.

Closes #3204.
2018-09-24 08:33:57 +02:00
ms2300
523ba2a009 Full fix of get unwrap issue 2018-09-23 19:53:25 -07:00
ms2300
de8d233b06 #3006 : Fixing for .get().unwrap().foo() 2018-09-23 19:53:25 -07:00
Philipp Krones
bc6d85ceaf
Merge pull request #3207 from mikerite/fix-3206
Fix double_parens false positive
2018-09-23 18:24:27 +02:00
Michael Wright
867ac98d38 Fix double_parens false positive
Closes #3206
2018-09-22 17:20:34 +02:00
Jay Kickliter
2f53aaa5bd mem_replace: match on path. 2018-09-19 14:41:22 -07:00
Jay Kickliter
598df08d88 Add lint for mem::replace(.., None).
Suggest `Option::take()` as an alternative.
2018-09-19 14:38:34 -07:00
Eduard-Mihai Burtescu
407ff8d6be Reintroduce extern crate for non-Cargo dependencies, in tests. 2018-09-15 13:37:21 +03:00
Eduard-Mihai Burtescu
85caaf5905 Fix useless_attribute to also whitelist unused_extern_crates. 2018-09-15 11:16:45 +03:00
Oliver Schneider
3e4f7fc4c0 Don't use the old feature gate 2018-09-10 15:44:41 +02:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
1c1030f83f
Merge pull request #3152 from PSeitz/master
fixes #3151 by skipping the lint instead of crashing
2018-09-10 13:44:47 +02:00
Philipp Krones
f30cf51a70
Merge pull request #3135 from JoshMcguigan/explicit_counter_loop-1219
Closes #1219 false positive for explicit_counter_loop
2018-09-09 23:49:03 +02:00
Pascal Seitz
43549ebbf8 fixes #3151 by skipping the lint instead of crashing 2018-09-08 15:30:50 +02:00
Matthias Krüger
160959d27f add tests for #3057 and #2651
Fixes #3057
Fixes #2651
2018-09-08 09:04:04 +02:00
Josh Mcguigan
9168746c38 Corrected explicit_counter_loop behavior with nested loops 2018-09-07 20:46:36 -07:00
Josh Mcguigan
53c262048c Fix #1219 false positive for explicit_counter_loop 2018-09-07 19:58:19 -07:00
flip1995
90f7997771
Add regression test 2018-09-07 17:41:03 +02:00
Josh Mcguigan
ce554267b8 Updated explicit_counter_loop tests based on discussion in #3135 2018-09-07 05:32:56 -07:00
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
63a46b1e1a
Merge pull request #3129 from mipli/3091-numeric-typo
Add lint for misstyped literal casting
2018-09-07 09:54:43 +02:00
Josh Mcguigan
edfa9feac2 Corrected explicit_counter_loop missing lints if variable used after loop 2018-09-06 06:20:25 -07:00
Matthias Krüger
a0f56edfc3 print_with_newline / write_with_newline: don't warn about string with several \ns in them.
Fixes #3126
2018-09-06 12:59:34 +02:00
Josh Mcguigan
4b668159d2 Closes #1219 false positive for explicit_counter_loop 2018-09-05 19:14:01 -07:00
Michael A. Plikk
38d287fecd Add lint for misstyped literal casting 2018-09-05 19:46:49 +02:00
Josh Mcguigan
0f6d422817 Added test case for ptr_arg 2018-09-05 05:59:07 -07:00
daubaris
db391c4613 Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one 2018-09-04 18:52:18 +03:00
Josh Holmer
48e6be42d7 Rustup 2018-09-03 23:50:24 -04:00
Josh Holmer
061b2f3057 Apply applicability 2018-09-03 23:29:44 -04:00
Josh Holmer
dfed9751bd Majority of PR changes 2018-09-03 23:29:44 -04:00
Josh Holmer
fbc93c0166 Lint against needless uses of collect()
Handles cases of `.collect().len()`, `.collect().is_empty()`, and
`.collect().contains()`. This lint is intended to be generic enough to
be added to at a later time with other similar patterns that could be
optimized.

Closes #3034
2018-09-03 23:29:44 -04:00
daubaris
1f3676f7d0 Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one 2018-09-03 18:24:47 +03:00
daubaris
b825578a4a backticks and testcase 2018-09-03 18:24:38 +03:00
Philipp Hansch
c0513097ab
Merge pull request #3092 from illicitonion/issue-2879
default_trait_access skips <F as Default>::default()
2018-09-03 17:24:33 +02:00
daubaris
1615a8a2b6 Merge branch 'master' of https://github.com/rust-lang-nursery/rust-clippy into range-plus-one 2018-09-03 17:21:13 +03:00
Josh Triplett
779988303a iter conservation efforts: save the endangered .iter() and .into_iter()
Make explicit_iter_loop and explicit_into_iter_loop allow-by-default, so
that people can turn them on if they want to enforce that style; avoid
presenting them as *the* idiomatic Rust style, rather than just *a* style.
2018-09-03 01:24:46 -07:00
Daniel Wagner-Hall
9f0216d520 Merge branch 'master' into issue-2879 2018-09-03 00:01:57 +01:00
daubaris
846c3dba2c resolved conflicts 2018-09-01 09:37:42 +03:00
Manish Goregaokar
c81d70e6bd
Merge pull request #2977 from flip1995/tool_lints
Implement tool_lints
2018-09-01 11:22:23 +05:30
Manish Goregaokar
9abf6fca9c Fix ptr offset tests 2018-08-31 00:38:27 -07:00
Oliver Schneider
73e8416df3
Merge pull request #3081 from mikerite/fix-3078
Fix #3078
2018-08-31 09:05:39 +02:00
daubaris
679bc32f46 range_plus_one suggestion should not remove braces fix 2018-08-30 20:06:13 +03:00
Manish Goregaokar
e0ad732226
Merge pull request #3105 from frewsxcv/frewsxcv-private
Make clippy_lints::{utils,consts} modules private, remove unused items.
2018-08-29 11:24:00 -07:00
flip1995
cfd4c538d4 Adapt ui-toml-tests to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
ea43fedf9e Adapt run-pass tests to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
e9af09c274 Adapt the *.stderr files of the ui-tests to the tool_lints 2018-08-29 11:08:29 -07:00
flip1995
1b6f6051a8 Adapt ui-tests to the tool_lints 2018-08-29 11:08:29 -07:00
Corey Farwell
2fa7351c1e suggest wrapping_offset as well 2018-08-29 07:40:00 -05:00
Corey Farwell
5ebae01c1e New lint: Suggest ptr.add([usize]) over ptr.offset([usize] as isize).
First part of #3047.
2018-08-28 23:21:29 -05:00
Corey Farwell
05f637cf88 Make clippy_lints::{utils,consts} modules private, remove unused items. 2018-08-28 21:32:20 -05:00
Daniel Wagner-Hall
350036a0c7 default_trait_access skips <F as Default>::default()
This includes the type name, so is clear, and may be necessary.

There doesn't seem to be an obviously cleaner way to pull out the
literal text of the named type here.

Fixes #2879
2018-08-27 23:22:07 +01:00
Michael Wright
45ceecc79c Fix #3078 2018-08-25 14:49:56 +02:00
Philipp Krones
e91147832c
Merge pull request #3048 from goodmanjonathan/assign_op
deprecate assign_ops lint
2018-08-24 18:29:31 +02:00
Philipp Krones
562c576ed3
Merge pull request #3059 from elpiel/writeln_empty_string_harcoded-suggestion
#3016 writeln_empty_string Hardcoded suggestion
2018-08-24 18:28:50 +02:00
Niklas Fiekas
afdf350060 Add copy_iterator lint (#1534) 2018-08-24 11:57:48 +02:00
flip1995
37099ae034
Remove now stable tool_attributes feature 2018-08-23 15:36:07 +02:00
Lachezar Lechev
76f7bfcefd #3016 Add backticks for the msg 2018-08-20 15:50:15 +02:00
Lachezar Lechev
c292b80783 #3016 Add feedback and implement test for fixed hardcoded suggestion 2018-08-20 15:33:43 +02:00
Manish Goregaokar
76321d3300 codemap -> source_map
https://github.com/rust-lang/rust/pull/52953
2018-08-19 19:06:54 -07:00
Michael Wright
bbd67c9b78 Fix #2927 2018-08-15 08:11:07 +02:00
Philipp Krones
84aa49935d
Merge pull request #3026 from dwijnand/fxhash
Add an internal lint for FxHashMap/FxHashSet
2018-08-14 13:04:48 +02:00
Philipp Krones
72b8c9b211
Merge pull request #3049 from mikerite/fix-2799
Add a test to ensure that #2799 is fixed
2018-08-14 12:55:13 +02:00
Philipp Krones
b2a4013c14
Merge pull request #3014 from estk/allow-write-multi-newline
Allow print/write with multiple newlines
2018-08-14 12:54:05 +02:00
Dale Wijnand
7933d445d1
Move shadow_unrelated to pedantic 2018-08-14 09:52:27 +01:00
Michael Wright
a1f8e129fd Add a test to ensure that #2799 is fixed
Closes #2799
2018-08-14 07:27:56 +02:00
Jonathan Goodman
160b41dae3 deprecate assign_ops lint 2018-08-13 16:12:41 -05:00
Dale Wijnand
1812707d39
Use utils::span_lint_and_sugg in default_hash_types 2018-08-13 11:49:57 +01:00
Dale Wijnand
8fc425b676
Add an internal lint for FxHashMap/FxHashSet 2018-08-12 16:15:36 +01:00
Oliver Schneider
d722489e71
Merge pull request #2823 from flip1995/thingies_things
Replace cfg_attr(rustfmt... with rustfmt::skip
2018-08-08 13:14:20 +02:00
Evan Simmons
550ff84ecd Allow print/write with multiple newlines 2018-08-07 12:01:10 -08:00
Oliver Schneider
328fea3e0d Rustup 2018-08-07 16:34:17 +02:00
Michael Wright
a3d7698fd9 Fix #2971 2018-08-07 05:37:11 +02:00
Oliver Schneider
b18a3c5b60
Merge pull request #3007 from mikerite/issue3000
Fix #3000
2018-08-06 09:16:42 +02:00
Michael Wright
ffce3c77e4 Fix #3000 2018-08-06 08:20:50 +02:00
Philipp Hansch
f6c4e303c9
Merge pull request #2999 from flip1995/single_char_pattern
Fix single_char_pattern lint for escaped chars
2018-08-06 07:05:04 +01:00
Philipp Hansch
32e4897854
Merge pull request #2975 from aaudiber/lint-identity-into-iter
Lint using identity into_iter conversion
2018-08-05 20:38:28 +01:00
Philipp Hansch
a016d4efe0
Merge pull request #2991 from mikerite/issue2979
Fix #2979
2018-08-05 20:35:55 +01:00
flip1995
55672e7e49
Fix single_char_pattern lint for escaped chars 2018-08-03 10:19:29 +02:00
Alex Crichton
8ef759e027 Fix fallout from rust-lang/rust#52841 2018-08-02 18:08:22 -07:00
Alex Crichton
ae6ea84924 Fix tests from 40349b23ea 2018-08-02 14:22:44 -07:00
flip1995
12f2d61fa9
Replace cfg_attr(rustfmt... thingies 2018-08-02 23:04:20 +02:00
Ryan Cumming
08d6b3d2f6 Allow pass by ref when returning ADT with ref
This is a follow-up to #2951 that extends the logic to allow for
returning references inside structs/enums/unions. This was a simple
oversight in the first version and it's surprisingly easy to handle.
2018-08-02 17:57:49 +10:00
Michael Wright
534d546c81 Fix #2979 2018-08-02 08:56:53 +02:00
Philipp Hansch
d7ffaab0fb
Merge pull request #2968 from phansch/first_an_ICE_and_then_some_ice_cream
Fix ICE with 'while let Some(..) = x.iter()'
2018-08-01 06:18:34 +01:00
flip1995
74fcf7de4a
single_char_pattern: lint only on the argument span 2018-07-31 12:20:32 +02:00
Andrew Audibert
0ea1afab3a Lint using identity into_iter conversion 2018-07-29 21:37:31 -07:00
Philipp Hansch
946340acfe
Fix ICE with 'while let (..) = x.iter()' 2018-07-29 11:00:26 +02:00
Michael Wright
8eeb3feadf Merge branch 'master' into issue2894 2018-07-28 08:41:10 +02:00
Oliver Schneider
b0dabce478
Merge pull request #2963 from commandline/master
Fix regression in print_literal
2018-07-26 10:11:34 +02:00
Thomas Gideon
9b11be72c0 Fix copy-paste error 2018-07-25 18:14:11 -04:00
Thomas Gideon
5446e73de6 And the ones annotating the source file name. 2018-07-25 18:00:19 -04:00
Thomas Gideon
457b76cedf Update line numbers 2018-07-25 17:51:04 -04:00