rhysd
f894adce8c
implement dbg_macro rule ( fixes #3721 )
2019-01-31 02:39:38 +09:00
Alex Hamilton
efaed8e0c0
wildcard_match_arm: lint only enum matches.
2019-01-29 15:33:04 -06:00
Alex Hamilton
c676578097
wildcard_match_arm: update ui test stderr
2019-01-29 15:33:04 -06:00
Alex Hamilton
c7ae44c0e2
wildcard_match_arm: format test.
2019-01-29 15:33:04 -06:00
Alex Hamilton
068924198b
wildcard_match_arm: add simple ui test.
2019-01-29 15:33:04 -06:00
bors
6b1a2a9c3e
Auto merge of #3648 - phansch:const_fn_lint, r=oli-obk
...
Add initial version of const_fn lint
This adds an initial version of a lint that can tell if a function could be `const`.
TODO:
- [x] Finish up the docs
- [x] Fix the ICE
cc #2440
2019-01-29 19:58:13 +00:00
Philipp Hansch
aed001b8d4
Update various docs
...
* `const_transmute` currently also seems to depend on the `const_fn`
feature.
* Only `Sized` is currently allowed as a bound, not Copy.
2019-01-29 08:19:05 +01:00
Philipp Hansch
0c6bdda562
Use built-in entry_fn detection over self-built
2019-01-29 08:19:05 +01:00
Philipp Hansch
c0a02691d8
cargo fmt
2019-01-29 08:19:05 +01:00
Philipp Hansch
f9d65b6356
Reorganize conditionals: Run faster checks first
2019-01-29 08:19:05 +01:00
Philipp Hansch
c3980bf0bc
Add initial version of const_fn lint
2019-01-29 08:19:05 +01:00
Michael Wright
df04238d3a
Fix unit_arg
false positive
...
Ignore arguments with the question mark operator.
Closes #2945
2019-01-29 07:22:08 +02:00
bors
410d5ba6c3
Auto merge of #3700 - phansch:would_you_like_some_help_with_this_const_fn, r=oli-obk
...
Prevent incorrect cast_lossless suggestion in const_fn
`::from` is not a const fn, so applying the suggestion of
`cast_lossless` would fail to compile. The fix is to skip the lint if
the cast is found inside a const fn.
Fixes #3656
2019-01-28 14:30:18 +00:00
Oliver Scherer
8a417204f8
Remove tests for deprecated items
2019-01-28 10:17:04 +01:00
Oliver Scherer
dc8c7b1677
Atomics constants are now handled by the deprecation lint
2019-01-28 10:10:27 +01:00
Matthias Krüger
16c0a2fa6f
update test stderr
2019-01-27 13:46:22 +01:00
Matthias Krüger
e9e0a7e3bd
rustup https://github.com/rust-lang/rust/pull/57726
2019-01-27 01:42:34 +01:00
bors
33a0fe7b2c
Auto merge of #3690 - mikerite:fix-3630-expect-fun-call, r=phansch
...
Fix `expect_fun_call` lint suggestions
This commit corrects some bad suggestions produced by the
`expect_fun_call` lint and enables `rust-fix` checking on the tests.
Addresses #3630
2019-01-26 10:57:39 +00:00
Philipp Hansch
8c416c3197
Prevent incorrect cast_lossless suggestion in const_fn
...
`::from` is not a const fn, so applying the suggestion of
`cast_lossless` would fail to compile. The fix is to skip the lint if
the cast is found inside a const fn.
2019-01-26 10:57:15 +01:00
bors
b1b55e8559
Auto merge of #3701 - mikerite:fix-3118, r=phansch
...
Fix dogfood tests on Appveyor
This introduces a work-around for a bug in rustup.rs when excuting
cargo from a custom toolchain. Instead of trusting rustup to
invoke cargo from one of the release channels we just invoke
nightly cargo directly.
2019-01-26 09:56:07 +00:00
Michael Wright
94a6eb0695
Fix dogfood tests on Appveyor
...
This introduces a work-around for a bug in rustup.rs when excuting
cargo from a custom toolchain. Instead of trusting rustup to
invoke cargo from one of the release channels we just invoke
nightly cargo directly.
2019-01-26 11:10:13 +02:00
Sorin Davidoi
dc3bee7962
test(versioncheck): Use .no_deps()
2019-01-25 21:53:44 +01:00
Sorin Davidoi
53ce28a969
test(versioncheck): Fix version equality check
2019-01-25 21:53:44 +01:00
Michael Wright
5284b95a06
Fix expect_fun_call
lint suggestions
...
This commit corrects some bad suggestions produced by the
`expect_fun_call` lint and enables `rust-fix` checking on the tests.
Addresses #3630
2019-01-24 06:58:53 +02:00
A.A.Abroskin
c771f339d7
allow assertions_on_constants for collapsible_if and missing_test_files
2019-01-23 17:58:33 +03:00
A.A.Abroskin
f11d993c0f
Merge branch 'master' into add-lints-aseert-checks
...
* master: (58 commits)
Rustfmt all the things
Don't make decisions on values that don't represent the decision
Improving comments.
Rustup
Added rustfix to the test.
Improve span shortening.
Added "make_return" and "blockify" convenience methods in Sugg and used them in "needless_bool".
Actually check for constants.
Fixed potential mistakes with nesting. Added tests.
formatting fix
Update clippy_lints/src/needless_bool.rs
formatting fix
Fixing typo in CONTRIBUTING.md
Fix breakage due to rust-lang/rust#57651
needless bool lint suggestion is wrapped in brackets if it is an "else" clause of an "if-else" statement
Fix automatic suggestion on `use_self`.
Remove negative integer literal checks.
Fix `implicit_return` false positives.
Run rustfmt
Fixed breakage due to rust-lang/rust#57489
...
2019-01-23 11:36:12 +03:00
bors
a40d8e4479
Auto merge of #3679 - daxpedda:use_self, r=phansch
...
Fix automatic suggestion on `use_self`.
In an example like this:
```rust
impl Example {
fn fun_1() { }
fn fun_2() {
Example::fun_1();
}
}
```
Clippy tries to replace `Example::fun_1` with `Self`, loosing `::fun_1` in the process, it should rather try to replace `Example` with `Self`.
**Question**
- There may be other paths that need the same treatment, but I'm not sure I understand them fully:
- e648adf086/clippy_lints/src/use_self.rs (L94-L96)
- e648adf086/clippy_lints/src/use_self.rs (L225-L229)
2019-01-22 19:18:39 +00:00
daxpedda
e6f2239bc3
Added rustfix to the test.
2019-01-22 15:16:54 +01:00
bors
9d5b148648
Auto merge of #3677 - daxpedda:integer_arithmetic, r=oli-obk
...
Remove negative integer literal checks.
Fixes #3678 .
2019-01-21 15:07:22 +00:00
daxpedda
87d24e1fc9
Actually check for constants.
2019-01-21 13:59:49 +01:00
bors
e0bcec717a
Auto merge of #3676 - daxpedda:implicit_return, r=oli-obk
...
Fix `implicit_return` false positives.
Fixes the following false positives:
- linting on `if let` without `else` in a `loop` even with a present `return`
- linting on `unreachable!()`
2019-01-21 12:25:45 +00:00
daxpedda
2e0977f3b4
Fixed potential mistakes with nesting. Added tests.
2019-01-21 13:06:32 +01:00
bors
54978a571c
Auto merge of #3680 - g-bartoszek:needless-bool-else-if-brackets, r=oli-obk
...
needless bool lint suggestion is wrapped in brackets if it is an "els…
…e" clause of an "if-else" statement
2019-01-21 11:47:06 +00:00
Grzegorz Bartoszek
adce3ef966
needless bool lint suggestion is wrapped in brackets if it is an "else" clause of an "if-else" statement
2019-01-20 16:15:00 +01:00
daxpedda
13b5ea4223
Fix automatic suggestion on use_self
.
2019-01-20 14:50:26 +01:00
daxpedda
0555ca1c2d
Remove negative integer literal checks.
2019-01-20 14:18:31 +01:00
daxpedda
2183cfcc13
Fix implicit_return
false positives.
2019-01-20 13:45:22 +01:00
Michael Wright
f51f0178dd
Fixed breakage due to rust-lang/rust#57489
2019-01-20 12:21:30 +02:00
bors
e648adf086
Auto merge of #3674 - sinkuu:fmt_rustup, r=oli-obk
...
Catch up with `format_args` change
Catches up with a change in rust-lang/rust#57537 . (Since the optimization is optional, this clippy PR can be merged before the rustc PR.)
Happened to fix a bug in `expect_fun_call`, that is the lint ignores more than
one arguments to `format`.
```
warning: use of `expect` followed by a function call
--> src/main.rs:2:17
|
2 | Some("foo").expect(format!("{} {}", 1, 2).as_ref());
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("{} {}", 1))`
|
```
2019-01-19 12:40:46 +00:00
Shotaro Yamada
2ee713dc7b
Catch up with format_args
change
...
Catches up with a change in rust-lang/rust#57537
Happened to fix a bug in `expect_fun_call`, that is the lint ignores more than
one arguments to `format`.
2019-01-19 21:18:31 +09:00
Michael Wright
a773276da3
Fix bad while_let_on_iterator
suggestion.
...
Don't suggest a `for` loop if the iterator is used inside the `while` loop.
Closes #3670
2019-01-19 11:36:27 +02:00
Unknown
38b3a4ec63
Fixing issues pointed out by dogfood tests.
2019-01-18 00:12:35 -05:00
Unknown
a3b3a54e93
Update to collect all the files then throw the error.
2019-01-17 23:50:30 -05:00
Unknown
8b81208012
Adding a test for checking if test files are missing.
2019-01-17 23:19:51 -05:00
Michael Wright
89de4c9766
Really fix issue number in map_clone
test
2019-01-15 08:36:56 +02:00
Michael Wright
f53f12b0c3
Fix issue number in map_clone
test
2019-01-15 08:17:55 +02:00
Michael Wright
67a9f20c91
Fix map_clone
bad suggestion
...
`cloned` requires that the elements of the iterator must be references. This
change determines if that is the case by examining the type of the closure
argument and suggesting `.cloned` only if it is a reference. When the closure
argument is not a reference, it suggests removing the `map` call instead.
A minor problem with this change is that the new check sometimes overlaps
with the `clone_on_copy` lint.
Fixes #498
2019-01-15 08:09:47 +02:00
bors
19553aee2c
Auto merge of #3657 - roblabla:bugfix-missing-docs-global-asm, r=phansch
...
Missing docs: don't require documenting Global Asm items.
global_asm! items cannot be documented, the lint still gets triggered after adding documentation to the macro invocation. Furthermore, even if we could add documentation to the AST node, rustdoc doesn't render it anyways.
Playground example: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=5182df182f0ffbbab4c3107e43368ac3
2019-01-14 14:50:27 +00:00
Wilco Kusee
51c0dd427b
Add run-rustfix to unnecessary_fold
2019-01-13 20:03:22 +01:00
Wilco Kusee
c325137d08
Add run-rustfix to unit_arg test
2019-01-13 19:59:00 +01:00
Wilco Kusee
67be42143a
Add run-rustfix for types test
2019-01-13 19:57:19 +01:00
Wilco Kusee
d3c452265f
Add run-rustfix to starts_ends_with
2019-01-13 19:40:14 +01:00
Wilco Kusee
2d11a440dd
Add run-rustfix to replace_const test
2019-01-13 19:38:43 +01:00
Wilco Kusee
aa1793e9c4
Add run-rustfix to redundant_field_names
2019-01-13 18:48:54 +01:00
roblabla
79203653d1
Missing docs: don't require documenting Global Asm items.
...
global_asm! items cannot be documented, the lint still gets triggered
after adding documentation to the macro invocation. Furthermore, even
if we could add documentation to the AST node, rustdoc doesn't render
it anyways.
Playground example: https://play.rust-lang.org/?version=nightly&mode=debug&edition=2018&gist=5182df182f0ffbbab4c3107e43368ac3
2019-01-13 16:22:48 +00:00
Wilco Kusee
6f17635f94
Add run-rustfix for precedence test
2019-01-13 14:26:09 +01:00
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 \n
s 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