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
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
Thomas Gideon
bf3f976a43
Fix regression in print_literal
2018-07-25 17:31:17 -04:00
Matthias Krüger
2665f10662
fix a bunch of typos found by codespell
2018-07-25 20:02:52 +02:00
Matthias Krüger
cfc9b33f17
Merge branch 'master' into typos
2018-07-25 19:54:45 +02:00
Michael Wright
5e23fcec0b
Merge branch 'master' into issue2894
2018-07-25 06:27:36 +02:00
Ryan Cumming
0afa5e1e21
Merge branch 'master' into allow-pass-by-ref-on-ref-return
2018-07-24 19:03:43 +10:00
Ryan Cumming
58459abd0c
Allow pass by reference if we return a reference
...
Currently this code will trigger `trivally_copy_pass_by_ref`:
```
struct OuterStruct {
field: [u8; 8],
}
fn return_inner(outer: &OuterStruct) -> &[u8] {
&outer.field
}
```
If we change the `outer` to be pass-by-value it will not live long
enough for us to return the reference. The above example is trivial but
I've hit this in real code that either returns a reference to either the
argument or in to `self`.
This suppresses the `trivally_copy_pass_by_ref` lint if we return a
reference and it has the same lifetime as the argument. This will likely
miss complex cases with multiple lifetimes bounded by each other but it
should cover the majority of cases with little effort.
2018-07-23 18:44:40 +10:00
Oliver Schneider
ff0e5f967f
Rewrite the print/write macro checks as a PreExpansionPass
2018-07-23 00:19:07 +02:00
flip1995
ac77a26b8a
Skip useless_attribute lint on allow(unused_imports) on extern crate items with macro_use
2018-07-19 13:59:25 +02:00
Michael Wright
5bb52c4869
Fix use_self regressions
2018-07-17 08:20:49 +02:00
Michael Wright
847e4dcc0d
Merge branch 'master' into issue2894
2018-07-17 06:32:39 +02:00
Oliver Schneider
8f61a792f4
Update test output to changes in rustc
2018-07-16 15:43:30 +02:00
csmoe
8e929946fd
DeclKind
2018-07-16 11:48:33 +02:00
csmoe
8cf463fe93
StmtKind
2018-07-16 11:48:33 +02:00
csmoe
12ded030b6
TyKind
2018-07-16 11:48:33 +02:00
csmoe
5d4102ee78
BinOpKind
2018-07-16 11:46:37 +02:00
csmoe
1bd17e4fa2
ExprKind
2018-07-16 11:46:37 +02:00
Michael Wright
b90fc5edfa
Fix #2894
2018-07-15 10:38:40 +02:00
Manish Goregaokar
184b99de39
Merge branch 'pr-2889'
2018-07-06 23:20:01 -07:00
gnzlbg
14cbdf2607
do not apply lint to executable crate type
2018-07-04 16:39:52 +02:00
gnzlbg
7c4ec40346
add missing_inline lint
...
When turned on, the lint warns on all exported functions, methods,
trait methods (default impls, impls), that are not `#[inline]`.
Closes #1503 .
2018-07-04 13:50:39 +02:00
Oliver Schneider
63041d070b
Rustup
2018-07-01 13:36:14 +02:00
Georg Brandl
949f0d9c72
Fix badly mangled lint message for neg-cmp-op-on-partial-ord
2018-06-29 16:55:31 +02:00
Oliver Schneider
656b26ea4f
Merge pull request #2832 from kennytm/non-copy-const
...
Lint against const items which are interior mutable.
2018-06-28 08:39:54 +02:00
Oliver Schneider
0de3f36a02
Merge pull request #2849 from mikerite/issue_2741
...
Fix #2741
2018-06-26 11:08:19 +02:00
Michael Wright
4827bdcc1c
Merge branch 'master' into issue_2741
2018-06-26 07:46:56 +02:00
flip1995
b2fb01f23b
Use utils::opt_def_id() instead of def_id() to prevent ICE
2018-06-25 22:25:15 +02:00
kennytm
88b7603b16
Lint against const items which are interior mutable. Fix #1560 .
2018-06-23 03:35:36 +08:00
flip1995
6224e19b80
Check for arguments before accessing the first arg
2018-06-21 15:46:24 +02:00
Oliver Schneider
25510cfb13
Merge pull request #2790 from shnewto/vectors-to-indexing-slicing-lint
...
Extend `indexing_slicing` lint
2018-06-21 10:30:40 +02:00
Bruno Kirschner
fedd3ef711
Allows neg_cmp_op_on_partial_ord for external macros ( fixes #2856 ).
...
The macro always negates the result of the given comparison in its
internal check which automatically triggered the lint. As its an
external macro there was no chance to do anything about it which lead
to a white listing of all external macros to prevent further issues.
2018-06-20 11:58:15 +02:00
Shea Newton
c479b3bc28
Removing lint for constant usize
array indexing
...
This commit removes the logic in this PR that linted out-of-bounds constant `usize` indexing on arrays. That case is already handled by rustc's `const_err` lint. Beyond removing the linting logic, the test file and its associated stderr were updated to verify that const `usize` indexing operations on arrays are no longer handled by this `indexing_slicing` lint.
2018-06-19 21:30:43 +00:00
Shea Newton
e63f5dfedb
Add tests that index with a const
value.
...
In this commit tests were added to ensure that tests with a `const` index behaved as expected.
In order to minimize the changes to the test's corresponding `stderr`, the tests were appended to
the end of the file.
2018-06-19 16:28:10 +00:00
Shea Newton
4ec439bef0
Revisiting indexing_slicing test cases
...
This commit contains a few changes. In an attempt to clarify which test cases should and should not produce stderr it became clear that some cases were being handled incorrectly. In order to address these test cases, a minor re-factor was made to the linting logic itself.
The re-factor was driven by edge case handling including a need for additional match conditions for `ExprCall` (`&x[0..=4]`) and `ExprBinary` (`x[1 << 3]`). Rather than attempt to account for each potential `Expr*` the code was re-factored into simply "if ranged index" and an "otherwise" conditions.
2018-06-19 16:28:10 +00:00
Shea Newton
8b59542acc
Second pass at addressing changes requested
...
The changes reflected in this commit (requested in PR #2790 ) are as follows:
- Extended `INDEXING_SLICING` documentation to include the array type so that it is clearer when indexing operations are allowed.
- Variable `ty` defined identically in multiple scopes was moved to an outer scope so it's only defined once.
- Added a missing return statement to ensure only one lint is triggered by a scenario.
- Prettified match statement with a `let` clause. (I learned something new!)
- Added `&x[5..].iter().map(|x| 2 * x).collect::<Vec<i32>>()` and `&x[2..].iter().map(|x| 2 * x).collect::<Vec<i32>>()` to the test cases. The first _should trigger the lint/stderr_ and the second _should not_.
2018-06-19 16:28:10 +00:00
Shea Newton
a7c0ff3fa6
This commit represents an attempt to address changes requested in the process of reviewing PR #2790 .
...
The changes reflected in this commit are as follows:
- Revised `IndexingSlicingPass` struct name to IndexingSlicing for consistency with the rest of the code base.
- Revised match arm condition to use `(..)` shorthand in favor of `(_, _, _)`.
- Restored a couple telling variable names.
- Calls to `cx.span_lint` were revised to use `utils::span_help_and_lint`.
- Took a stab at refactoring some generalizable calls to `utils::span_help_and_lint` to minimize duplicate code.
- Revised INDEXING_SLICING declaration to pedantic rather than restriction.
- Added `&x[0..].get(..3)` to the test cases.
2018-06-19 16:28:10 +00:00
Shea Newton
5b759efa4c
Rename instances of array_indexing
...
This commit renames instances of `array_indexing` to `indexing_slicing` and moves the `indexing_slicing` lint to the `clippy_pedantic` group. The justification for this commit's changes are detailed in the previous commit's message.
2018-06-19 16:27:39 +00:00
Shea Newton
7af0c67855
Extend indexing_slicing
lint
...
Hey there clippy team! I've made some assumptions in this PR and I'm not at all certain they'll look like the right approach to you. I'm looking forward to any feedback or revision requests you have, thanks!
Prior to this commit the `indexing_slicing` lint was limited to indexing/slicing operations on arrays. This meant that the scope of a really useful lint didn't include vectors. In order to include vectors in the `indexing_slicing` lint a few steps were taken.
The `array_indexing.rs` source file in `clippy_lints` was renamed to `indexing_slicing.rs` to more accurately reflect the lint's new scope. The `OUT_OF_BOUNDS_INDEXING` lint persists through these changes so if we can know that a constant index or slice on an array is in bounds no lint is triggered.
The `array_indexing` tests in the `tests/ui` directory were also extended and moved to `indexing_slicing.rs` and `indexing_slicing.stderr`.
The `indexing_slicing` lint was moved to the `clippy_pedantic` lint group.
A specific "Consider using" string was added to each of the `indexing_slicing` lint reports.
At least one of the test scenarios might look peculiar and I'll leave it up to y'all to decide if it's palatable. It's the result of indexing the array `x` after `let x = [1, 2, 3, 4];`
```
error: slicing may panic. Consider using `.get(..n)`or `.get_mut(..n)`instead
--> $DIR/indexing_slicing.rs:23:6
|
23 | &x[0..][..3];
| ^^^^^^^^^^^
```
The error string reports only on the second half's range-to, because the range-from is in bounds!
Again, thanks for taking a look.
Closes #2536
2018-06-19 16:27:08 +00:00
uHOOCCOOHu
5b57b5fc61
Add notes for test examples.
2018-06-19 23:18:53 +08:00
uHOOCCOOHu
ce1800d599
Check lifetimes in Fn traits in generic bounds.
...
Add tests.
2018-06-19 21:25:38 +08:00
Oliver Schneider
d761ba78d8
Merge pull request #2837 from fanzier/panicking_unwrap
...
Implement lint checking for `unwrap`s that will always panic.
2018-06-19 13:30:38 +02:00
Oliver Schneider
4839c790ae
Merge pull request #2844 from illicitonion/default_trait_access
...
Add default_trait_access lint
2018-06-19 10:10:20 +02:00
Daniel Wagner-Hall
b24d75313e
Exclude generated code
2018-06-18 10:29:25 +01:00
Michael Wright
7a32c28931
Fix #2741
2018-06-16 18:33:11 +02:00
Wim Looman
700ece5648
Allow configuring the trivial copy size limit
2018-06-15 16:53:34 +02:00
Wim Looman
7547a4ddef
New Lint: Pass small trivially copyable objects by value
...
Fixes #1680
Hardcoded for 64-bit "trivial" size for now
2018-06-15 16:53:34 +02:00
Daniel Wagner-Hall
d3124731b7
Fix some existing test expectations
2018-06-14 23:13:12 +01:00
Daniel Wagner-Hall
4866309f9d
Add default_trait_access lint
2018-06-14 09:11:46 +01:00
Oliver Schneider
26bc88d48c
Merge pull request #2839 from mikerite/duration_subsec_pr_2
...
Add duration_subsec lint
2018-06-12 06:30:20 -07:00
Fabian Zaiser
8682858e2c
Categorize the unwrap lints correctly.
2018-06-12 15:06:46 +02:00
Fabian Zaiser
23404287fc
Implement lint checking for unwrap
s that will always panic.
2018-06-12 15:04:44 +02:00
Michael Wright
725e9621d0
duration_subsec: Add check for subsec_micros
2018-06-12 08:25:10 +02:00
Oliver Schneider
8f0edba6e9
Merge pull request #2815 from darArch/master
...
Warn if non-trivial work is done inside .expect
2018-06-11 06:33:26 -07:00
Michael Wright
7b2fa2077f
Add duration_subsec lint
...
Closes #2543
2018-06-09 10:21:26 +02:00
Oliver Schneider
91986fa933
Merge pull request #2836 from mati865/upcoming_breakage
...
Upcoming breakage
2018-06-09 06:56:39 +02:00
Fabian Zaiser
54826cf72e
Address review comments.
2018-06-08 06:02:25 +02:00
Fabian Zaiser
81821acd59
Implement lint that checks for unidiomatic unwrap()
( fixes #1770 )
...
This checks for things like
if x.is_some() {
x.unwrap()
}
which should be written using `if let` or `match` instead.
In the process I moved some logic to determine which variables are
mutated in an expression to utils/usage.rs.
2018-06-08 05:29:25 +02:00
Mateusz Mikuła
3693a4ea53
Formatting
2018-06-07 22:01:46 +02:00
Oliver Schneider
2a2e602f2a
Merge pull request #2833 from phansch/cannot_relate_bound_region_without_ICE_cream
...
Fix cargo late bound region mismatch ICE
2018-06-07 11:52:32 +02:00
Philipp Hansch
17aff1d774
Fix cargo late bound region mismatch ICE
2018-06-07 07:42:45 +02:00
Oliver Schneider
7563d8155b
Merge pull request #2804 from utaal/expr-call-author
...
Add support for ExprCall in clippy::author
2018-06-06 15:17:47 +02:00
Donald Robertson
451fd5feb9
Extracting arguments to format to pass directly to panic when appropriate
2018-06-05 21:15:08 +01:00
Oliver Schneider
1e1b4e26ea
Merge pull request #2814 from VKlayd/fn_to_int
...
WIP: Add lint on cast Fn to all numerical except usize.
2018-06-05 17:08:33 +02:00
Donald Robertson
1ead12c500
Adding handling and tests for custom type with implemented expect method
2018-06-04 19:43:03 +01:00
Donald Robertson
fe8c9d5965
Ensuring correct lint message is output for Option and Result type
2018-06-04 19:43:03 +01:00
Donald Robertson
05c1ccebaf
Warn if non-trivial work is done inside .expect
...
- added tests for common usages of format and as_str arguments to expect
- added tests for usages of Option and Result types
- given performance impact of passing non literal expressions to expect, added to perf group
2018-06-04 19:43:03 +01:00
Bruno Kirschner
28f735bb26
Cleaned implements_ord helper function in boolean lint file.
2018-06-03 22:56:17 +02:00
Bruno Kirschner
80728a2201
Reduced scope of nonminimal_bool
so that it doesn't evaluate only partially orded types.
2018-06-03 21:46:09 +02:00
Bruno Kirschner
09ea75bee9
Fixed spelling and indentation issues in neg_cmp_op_on_partial_ord related files.
2018-06-03 21:46:09 +02:00
Bruno Kirschner
6d51559f62
Added lint to avoid negated comparisions on partially ordered types.
2018-06-03 21:46:09 +02:00
Oliver Schneider
c6d53ad2c0
Merge pull request #2813 from terry90/master
...
unreadable_literal: Fills hexadecimal values with 0 to allow better grouping
2018-06-03 12:53:45 +02:00
Victor Korkin
24ab207671
Divide FN_TO_NUMERIC lint into two.
...
FN_TO_NUMERIC_CAST_WITH_TRUNCATION is correctness check
FN_TO_NUMERIC_CAST is only style check
2018-06-01 23:08:11 +07:00
Oliver Schneider
1ba658772a
Merge pull request #2816 from mockersf/multiple-impl
...
adding to restriction a lint that check for multiple inherent implementations
2018-05-31 13:33:35 +02:00
Victor Korkin
ded2576957
Add one more test
2018-05-31 09:00:13 +07:00
Wim Looman
edcb8f6976
Use compiletest::make_tests to allow it to setup the output folders
2018-05-30 21:26:09 +02:00
Wim Looman
3244d122fd
Get compile-test tests for configuration working
2018-05-30 20:37:18 +02:00
Victor Korkin
e6811b9c26
Fix 'help' message
2018-05-30 16:55:03 +07:00
Victor Korkin
b69520f5fd
Fixes for suggestion message, tests and lint explanation.
2018-05-30 11:48:46 +07:00
Victor Korkin
e4b2a97401
weird thing
2018-05-30 07:55:48 +07:00
François Mockers
44f4ea6dbf
adding to pedantic a lint that check for multiple inherent implementations
2018-05-29 21:28:52 +02:00
Devon Hollowood
8134863c13
Fix behavior with generic lifetime parameters
2018-05-29 09:18:49 -07:00
Devon Hollowood
96b11a5888
Test that we allow non-static lifetime transmutes
2018-05-29 09:18:49 -07:00
Devon Hollowood
2a606b5220
Don't lint lifetime-only transmutes
2018-05-29 09:18:49 -07:00
Victor Korkin
f6e0388e08
Change lint type to unique and add the suggestion.
2018-05-29 22:56:38 +07:00
Mateusz Mikuła
8ed8ee895a
Update to nightly 2018-05-28
2018-05-29 10:56:58 +02:00
Victor Korkin
01be53f929
Little fix for test
2018-05-28 23:49:38 +07:00
Victor Korkin
cf8f379657
Add lint on cast Fn to numerical.
2018-05-28 23:31:55 +07:00
Andrea Lattuada
5db444dfed
author tests: update for_loop.stdout file
2018-05-28 14:50:41 +02:00
Andrea Lattuada
bc1de58d26
Test for ExprCall in clippy::author
2018-05-28 14:48:34 +02:00
Terry Raimondo
ed011c45c4
Update other tests
2018-05-28 14:43:44 +02:00
Terry Raimondo
b81fd202a0
Add tests
...
Fix tests
2018-05-28 14:23:06 +02:00
Terry Raimondo
2033a1eb0e
unreadable_literal: Fills hexadecimal values with 0 to allow grouping (c.f #2300 )
2018-05-28 13:55:27 +02:00
Oliver Schneider
0d1e06d638
Merge pull request #2808 from Aaronepower/master
...
Added lint for unnecessary references.
2018-05-28 13:50:31 +02:00
Aaron Power
8b679176fa
Added lint for unnecessary references
2018-05-28 13:07:19 +02:00
Oliver Schneider
b979f62aab
Merge pull request #2810 from Aaronepower/stable_feature_flags
...
Removed stable feature flags
2018-05-28 12:59:25 +02:00
Aaron Power
1931f53396
Removed stable feature flags
2018-05-28 10:03:27 +02:00
François Mockers
5379fc1b28
better parsing of condition in while loop for mutability
...
allow condition to be a block: by calling visit_expr of the visitor directly on the condition instead of walk_expr on the whole expression, we bypass the match to ExprWhile that calls visit_expr on the condition and visit_block on the body. This allow to re-enable visit_block in the visitor, as it won't be called on the while body
allow condition to use static variables: maintain a list of static variables used, and if they are mutable
2018-05-27 23:59:07 +02:00
Oliver Schneider
fc008aa14c
Rustup
2018-05-26 10:23:34 +02:00
Michael A. Plikk
1f10dd2606
Fix note on macro outside current crate. Changed group to restricted
2018-05-24 19:38:40 +02:00
Michael A. Plikk
dc8d29be4a
Allow unimplemented in other tests
2018-05-24 16:30:26 +02:00
Michael A. Plikk
88c3c2f1c2
Rename panic files to panic_unimplemented
2018-05-24 10:04:18 +02:00
Michael A. Plikk
77794e91e2
Create lint for unimplemented!()
2018-05-24 10:04:18 +02:00
Mateusz Mikuła
3c6503eb4b
Format code
2018-05-22 10:21:42 +02:00
Philipp Hansch
74be5632a3
Fix chrono crash due to empty param_env
2018-05-21 17:58:34 +02:00
Oliver Schneider
e0df4ccfc5
Use the new scoped tool attributes
2018-05-19 14:04:57 +02:00
Philipp Hansch
ed885dc2b3
Fix ICE for issues 2767, 2499, 1782
2018-05-17 21:12:07 +02:00
Philipp Hansch
21e783d3b6
Add run-pass tests for SpanlessEq/SpanlessHash ICE
2018-05-17 20:47:21 +02:00
Oliver Schneider
18a5b90242
Merge pull request #2712 from rust-lang-nursery/oli-obk-patch-1
...
Deprecate plugin-clippy
2018-05-12 11:13:37 +02:00
Oliver Schneider
22bef4ce28
Patterns, locals and matches for author lint
2018-05-11 19:05:34 +02:00
Oliver Schneider
fd8a1d20cc
Remove all mention and testing of #[plugin(clippy)] and warn if used
2018-05-11 13:20:39 +02:00
Philipp Hansch
be3cba8852
Merge pull request #2735 from rust-lang-nursery/ice_melting
...
Check that we don't treat any type but a range type as a range
2018-05-09 21:56:34 +02:00
flip1995
db4e7ac725
panic_params: don't lint escaped squigglies
2018-05-09 12:29:28 +02:00
Oliver Schneider
c6e35eae53
Check that we don't treat any type but a range type as a range
2018-05-08 17:16:01 +02:00
NiekGr
e7a6b3e613
Update len_zero to handle comparisions with one
...
I have added test cases for comparisons with zero and one.
While implementing handling of one, incorrect handlings of zero
were also fixed.
fixes rust-lang-nursery/rust-clippy/#2554
2018-05-06 23:54:05 +02:00
Evan Simmons
d4b536f540
Fix 1x..x.0 false positive, pretty suggestion
2018-05-05 09:45:14 -07:00
Oliver Schneider
c1b39c4551
Merge pull request #2713 from alexreg/nightly-fix
...
Fixed build for latest rust master
2018-05-04 15:06:59 +02:00
Oliver Schneider
c7ce6c07b1
Rustup field -> method transition of ..=
2018-05-03 15:52:44 +02:00
Philipp Hansch
5d36edc90d
Prevent crash when macro is in different file
...
This was caused by a macro in a different file.
The `target.span` was be in the file of the macro definition and the
`item.span` in the file of the calling code.
2018-05-01 18:46:15 +02:00
Mateusz Mikuła
cc7d66aa9c
rustup
2018-04-27 14:00:43 +02:00
Oliver Schneider
3b6440212d
Merge pull request #2673 from estk/excessive_precision
...
Excessive precision
2018-04-25 18:37:42 +02:00
Evan Simmons
9b14ad493b
New excessive precision lint for floats
2018-04-24 15:18:23 -07:00
Devon Hollowood
f0e09d43c9
Make cast_ptr_alignment ignore c_void
2018-04-24 11:37:51 -07:00
Oliver Schneider
faefb4f225
Merge pull request #2684 from 17cupsofcoffee/infallible-destructuring-match
...
Lint for destructuring tuple structs/variants with an infallible single-armed match
2018-04-24 19:08:27 +02:00
Joe Clay
3c38a36d5a
Implement lint for destructuring tuple structs with a let and a match ( closes #2671 )
2018-04-24 17:56:13 +01:00
Brad Gibson
1969d423a7
Corrected messaging to warn against less- to more-strictly align types, rather than the other way around. No logic changes required.
2018-04-23 10:59:53 -07:00
Michael Recachinas
a317bc9d23
Update stderrs for print and write_literal
2018-04-21 19:51:58 +01:00
Michael Recachinas
8ccaa83e90
Add more tests to print_ and write_literal
...
Also, move precision, width, and debug fmt tests to 'should pass'
2018-04-21 19:51:35 +01:00
Oliver Schneider
ae3213747d
Merge pull request #1467 from philipturnbull/option_map_nil_fn
...
Lint `Option.map(f)` where f returns unit
2018-04-15 16:14:25 +02:00
MSI\Stew's Laptop
d175c797e5
fixing error message for empty println macro
2018-04-15 14:00:28 +02:00
Philipp Hansch
4f4e20c561
Also lint Result.map for unit returns
2018-04-15 13:59:57 +02:00
Philipp Hansch
8307a899e9
Rename option_map_unit_fn to map_unit_fn
2018-04-15 13:01:10 +02:00
Philipp Hansch
d54f70f1f6
Generate let binding variable name for some cases
...
Given a map call like `x.field.map ...` the suggestion will contain:
`if let Some(x_field) ...`
Given a map call like `x.map ...` the suggestion will contain:
`if let Some(_x) ...`
Otherwise it will suggest: `if let Some(_) ...`
2018-04-15 13:01:10 +02:00
Philipp Hansch
d87385b406
Use approximate_suggestion for non-reducible closures
2018-04-15 13:01:10 +02:00
Philipp Hansch
7de707fdba
Remove further semicolon reduction
2018-04-15 13:01:10 +02:00
Philipp Hansch
db60c67c5b
Allow new lint in ui/eta.rs
2018-04-15 13:01:09 +02:00
Philipp Hansch
bcc335fc9c
Move test to new UI test system
2018-04-15 13:01:09 +02:00
Phil Turnbull
d0bdfe5ce3
Handle non-trivial nil closures
...
`reduce_nil_closure` mixed together a) 'is this a nil closure?' and b) 'can it
be reduced to a simple expression?'. Split the logic into two functions so we
can still generate a basic warning when the closure can't be simplified.
2018-04-15 13:01:09 +02:00
Phil Turnbull
30f2480fd8
Lint closures that return nil
2018-04-15 13:01:09 +02:00
Phil Turnbull
302f5d05f5
Lint Option.map(f)
where f never returns
2018-04-15 13:01:09 +02:00
Phil Turnbull
e5ecbb55ee
Lint Option.map(f)
where f returns nil
2018-04-15 13:01:09 +02:00
Oliver Schneider
b2e4b88d18
Merge pull request #2662 from mikerite/issue_2546
...
Fix useless_format false negative
2018-04-15 11:57:57 +02:00
Philipp Hansch
dfde407f0d
Move unnecessary_fold UI tests to separate file
2018-04-12 22:16:43 +02:00
Michael Wright
6ae617b313
Fix useless_format false negative
...
Closes #2546
2018-04-12 08:21:03 +02:00
Oliver Schneider
8ec61a613a
Merge pull request #2661 from devonhollowood/ptr-ptr-casts
...
Replace `misaligned_transmute` lint
2018-04-11 13:23:15 +02:00
Devon Hollowood
b77d74030b
Deprecate misaligned_transmute
2018-04-11 02:50:04 -07:00
Devon Hollowood
c6bc682325
Fix misaligned_transmute lint
...
This is done by adding two new lints: cast_ptr_alignment and
transmute_ptr_to_ptr. These will replace misaligned_transmute.
2018-04-11 02:17:59 -07:00
Oliver Schneider
0692b2bb92
Temporarily disable the needless_borrow lint
2018-04-08 11:13:46 +02:00
Oliver Schneider
d247d9c690
Merge pull request #2645 from TimNN/regex-bytes-utf8
...
Allow invalid UTF-8 in bytes Regexes
2018-04-08 08:58:38 +02:00
Evan Simmons
d712991917
New lints for write! / writeln! macros.
2018-04-07 22:45:26 -07:00
Tim Neumann
fad826f966
allow invalid UTF-8 in bytes Regexes
2018-04-07 22:18:51 +02:00
Oliver Schneider
22df45f1ac
Merge pull request #2644 from phansch/fix_nonminimal_bool_false_positive
...
Fix nonminimal_bool false positive
2018-04-07 13:17:04 +02:00
Philipp Hansch
90e7d93d6c
Fix nonminimal_bool false positive
...
It was checking any is_ok, is_err, is_some, is_none method for negation
but it should only perform the check for the built-in types, not custom
types.
2018-04-07 12:52:59 +02:00
Philipp Hansch
5abe34832d
Split up match_bool UI tests
2018-04-07 10:23:27 +02:00
Oliver Schneider
044b3d90c3
Merge pull request #2633 from mikerite/ref_cow_tests
...
Move ref cow tests
2018-04-06 12:15:33 +02:00
Philipp Hansch
641f0685d0
Split up some single_match UI tests
...
This moves only the single_match tests over to the new file.
2018-04-05 22:45:36 +02:00
Michael Wright
2fd671e4bd
Move ref cow tests
...
This commit moves the ref cow tests from needless_borrow.rs to ptr_arg.rs
where all the other PTR_ARG tests are.
2018-04-05 18:13:39 +02:00
Oliver Schneider
62d595b3dc
Merge pull request #2632 from phansch/fix_useless_format_false_positive
...
Fix useless_format false positive with macros
2018-04-05 09:59:12 +02:00
Philipp Hansch
ff98e3f9f5
Fix useless_format false positive with macros
...
Clippy was issuing a warning when `format!` was used inside a macro.
That's a problem because macros have different syntax and can be outside
the control of the user.
This skips the `useless_format` check if the `format!` call is inside a
macro.
2018-04-05 07:52:26 +02:00
memoryleak47
d9508ba99d
typo
2018-04-05 04:13:14 +02:00
flip1995
cecfdeab19
Don't trigger while_immutable_condition for mutable fields of tuples/structs
2018-04-03 16:41:30 +02:00
Michael Wright
6fc9d90b60
Re-enable dogfood test on Windows
...
This should work now that dogfood uses a separate output directory.
2018-04-03 06:22:42 +02:00
Oliver Schneider
90fcdafb79
Merge pull request #2608 from mrecachinas/feature/print-string-literal
...
Check for literals as println! args
2018-04-02 23:34:17 +02:00
Michael Recachinas
fa8161ba2e
Revert adding env! to tests
2018-04-02 21:34:04 +01:00
Michael Recachinas
d504290839
Add edge case with env! arg to test and known problems
2018-04-02 21:14:29 +01:00
Michael Wright
0fbcb30303
Merge branch 'master' into dogfood_target_dir
2018-04-02 07:28:10 +02:00
Michael Recachinas
ddd75fbfec
Add #![allow(print_literal)] to other test/ui/print_*.rs tests
2018-04-02 00:24:40 +01:00
Michael Recachinas
62220abfa6
Add implementation and tests for literal checking in print/println format args
2018-04-01 23:19:53 +01:00
Michael Wright
1ab96db791
Make dogfood test output to seperate directory
...
This commit makes `cargo clippy` output the build artifacts to a
separate directory if the `CLIPPY_DOGFOOD` env var is set. This should
prevent dogfood builds from interfering with regular builds.
This should help with issue #2595 .
2018-04-01 09:44:30 +02:00
Philipp Hansch
db1ec44616
Handle nested block comments
2018-03-30 12:36:50 +02:00
Philipp Hansch
b7929cafe1
Fix false positive in empty_line_after_outer_attr
...
Before, when you had a block comment between an attribute and the
following item like this:
```rust
\#[crate_type = "lib"]
/*
*/
pub struct Rust;
```
It would cause a false positive on the lint, because there is an empty
line inside the block comment.
This makes sure that basic block comments are detected and removed from
the snippet that was created before.
2018-03-30 12:36:50 +02:00
Oliver Schneider
c1bbc173da
Address review comments
2018-03-29 13:41:53 +02:00
Oliver Schneider
eafb9fe8df
Update test suite
2018-03-28 23:49:32 +02:00
Oliver Schneider
d6344c47e3
Categorize all the lints!
2018-03-28 15:24:26 +02:00
Oliver Schneider
b6e2c47df0
Merge pull request #2572 from flip1995/immut_while
...
Fix check of immutable condition in closure
2018-03-27 07:07:27 +02:00
Michael Wright
546d2fec29
Fix enum_glob_use false positives
...
Closes #2397 .
This checks the def of the `ItemUse` path instead of checking the
capitalization of the path segements. It was noted that this def would
sometimes be `Def::Mod` instead of `Def::Enum` but it seems correct now.
2018-03-27 06:34:11 +02:00
flip1995
7d29075132
Skip the mutation in while body case for closures
2018-03-27 02:13:06 +02:00
flip1995
d458f22d89
Fix check of immutable condition in closure
2018-03-27 01:21:25 +02:00
Oliver Schneider
b01b0083ba
Merge pull request #2576 from kimsnj/infinite_loop
...
while_immutable_condition: fix handling of self
2018-03-27 00:06:16 +02:00
Karim Snj
737247e50e
while_immutable_condition: limit suggestion span to condition
2018-03-26 23:24:57 +02:00
Karim Snj
85bcaad412
while_immutable_condition: fix handling of self
2018-03-26 23:16:54 +02:00
Philipp Hansch
034c81b761
Fix false positive in empty_line_after_outer_attribute
...
`empty_line_after_outer_attribute` produced a false positive warning when
deriving `Copy` and/or `Clone` for an item.
It looks like the second point in [this comment][that_comment] is related,
as the attribute that causes the false positive has a path of
`rustc_copy_clone_marker`.
Fixes #2475
[that_comment]: https://github.com/rust-lang/rust/issues/35900#issuecomment-245978831
2018-03-26 21:57:42 +02:00
Oliver Schneider
1aaeb3f16b
Update needless_lifetimes_impl_trait.rs
2018-03-26 07:05:46 +02:00
Oliver Schneider
9fb63d5fc4
Merge pull request #2574 from mark-i-m/i128
...
i128 is stabilizing
2018-03-26 07:04:42 +02:00
Mark Mansi
e9f6a7c72f
whitespace
2018-03-25 21:26:10 -05:00
Mark Mansi
e2d7ef9972
attempt fix stderr
2018-03-25 21:17:38 -05:00
Mark Mansi
f25d4fd253
make it pass for now
2018-03-25 21:04:05 -05:00
Mark Mansi
748ad9fb4b
i128 is stable
2018-03-25 20:34:44 -05:00
Michael Wright
2b68f00722
Add tests to ensure that issue #2420 is resolved
...
The issue was probably fixed by ff32d5f7
. Closes #2420 .
2018-03-23 20:26:52 +02:00
Oliver Schneider
2d01f42dde
Merge pull request #2539 from Baelyk/master
...
Add suggestion to useless_format
2018-03-20 08:22:04 +01:00
Baelyk
48027105dc
Add suggestion to useless_format
...
Resolves #2505
Suggests that you use `"foo".to_string()` instead of `format!("foo")`.
2018-03-19 09:27:15 -05:00
flip1995
ad459184a3
Don't lint comparison operators in arithmetic impls
2018-03-17 22:02:34 +01:00
Mateusz Mikuła
23bfa396a0
Format code
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-16 10:54:49 +01:00
Oliver Schneider
8749927973
Rustup
2018-03-16 09:44:20 +01:00
Mateusz Mikuła
3662ee76ab
Merge branch 'miri'
2018-03-15 10:49:13 +01:00
Mateusz Mikuła
ca785afc31
Update tests
...
Signed-off-by: Mateusz Mikuła <mati865@gmail.com>
2018-03-15 10:25:57 +01:00
Oliver Schneider
21f387d278
Update dependencies
2018-03-13 16:54:13 +01:00
Oliver Schneider
f7b2578aea
Update to rustc master
2018-03-13 11:38:21 +01:00
Hidehito Yabuuchi
ed769a3bc4
Ignore all macros in redundant_field_names
2018-03-11 13:57:28 +09:00
Karim Snj
ae5354e6ef
lint: while immutable condition: do not lint constants
2018-03-07 18:25:09 +01:00
Oliver Schneider
4cf02c7e1a
Merge pull request #2483 from kimsnj/infinite_loop
...
immutable while condition
2018-03-07 08:09:48 +01:00
Karim Snj
814827113e
lint: immutable condition: add internally mutable test
2018-03-06 18:27:11 +01:00
Oliver Schneider
7d5ecd5ad5
Merge pull request #2511 from flip1995/sus_impl
...
UnNeg and UnNot count as additional operations now
2018-03-06 14:35:54 +01:00
Niklas Fiekas
d55890a2b1
Increase unreadable_literal digits ( fixes #1958 )
2018-03-06 14:24:01 +01:00
flip1995
ed4535641b
UnNeg and UnNot count as additional operations now
2018-03-06 13:58:03 +01:00
Oliver Schneider
05f92b84c9
Merge pull request #2507 from ordovicia/redundant_field_names_range
...
Don't lint range syntax with var name `start` and/or `end`
2018-03-05 09:41:00 +01:00
Oliver Schneider
40ebff8c7a
Merge pull request #2493 from bootandy/fix_cow
...
Lint passing Cow by reference
2018-03-05 09:35:11 +01:00
Hidehito Yabuuchi
cdb60c6547
Make redundant_field_name
not care range expressions
...
Hand-written `Range` struct family are treated normally.
2018-03-05 17:30:07 +09:00
Oliver Schneider
598acba7d5
Merge pull request #2497 from waywardmonkeys/single-char-pattern
...
Fix single_char_pattern for \n, \t, etc.
2018-03-05 08:43:17 +01:00
Oliver Schneider
6662aa41f9
Merge branch 'master' into fix_cow
2018-03-05 08:42:19 +01:00
Oliver Schneider
f071d1994f
Merge pull request #2504 from flip1995/lit_float_repr
...
Fix unreadable_literal lint for scientific float notation
2018-03-05 08:38:32 +01:00
Oliver Schneider
5b48b03375
Typo
2018-03-05 08:33:37 +01:00
Hidehito Yabuuchi
7b59557dcd
Don't lint range syntax with var name start
and end
2018-03-05 14:31:37 +09:00
HMPerson1
3045f432c7
Fix #2496
2018-03-04 22:56:03 -05:00
flip1995
86ce897084
Fix unreadable_literal lint for scientific float notation
2018-03-04 16:28:34 +01:00
bootandy
e3c13da830
Change recomendation to: &[type] from Cow<type>
2018-03-03 12:25:20 -05:00
Alex Butler
fc5b377cec
Fix #2494 add suggestion for unreadable_literal
...
Add `rustc --explain E0308` line to relevant tests
2018-03-03 12:25:20 -05:00
Bruce Mitchener
769a1d9b6c
Fix single_char_pattern for \n, \t, etc.
...
Single characters that are escaped weren't being searched / replaced
correctly in the hint string, so it was saying to replace, say,
`"\n"` with `"\n"` rather than `'\n'`.
2018-03-02 22:00:01 +07:00
Karim Snj
7d35fab304
lint: while loop: detect if no var from the condition is mutated
2018-03-02 00:01:08 +01:00
Karim Snj
37eca59438
lint: while immutable condition: refactor to use hir::Visitor
2018-03-01 22:00:43 +01:00
Alex Butler
42000c6cf9
Fix #2494 add suggestion for unreadable_literal
...
Add `rustc --explain E0308` line to relevant tests
2018-03-01 15:26:39 +00:00
bootandy
9a002e52e5
Lint passing Cow by reference
...
Add lint for reference to Cow to the same place in the code where
lint for reference to String lives.
https://github.com/rust-lang-nursery/rust-clippy/issues/2405
2018-02-28 10:24:10 -05:00
Karim Snj
5c1be4a4ba
lint: immutable only vars in while condition
2018-02-25 18:25:31 +01:00
Guillem Nieto
8494f57c82
Fix author lint
...
The author lint was generating invalid code as shown on issue:
https://github.com/rust-lang-nursery/rust-clippy/issues/2442
I've changed the generated code to properly track cast
expressions.
Unfortunatelly, I've had to rewrite the `visit_decl` method, to
avoid that last if of the chain will be added. After looking at the code,
this last line was being added because of the `let x: char` part, but not
because of the `0x45df as char` expression.
It seems that let statements should not generate code on the author
lint, but I'm not sure that this is true or if I'm breaking
something on other code generation parts.
Finally, I've added a test for the author lint, but I'm not sure that
this needs to be added to the testsuite.
2018-02-24 02:19:47 +01:00
Oliver Schneider
575c3c4b54
Merge pull request #2471 from bootandy/fix_span2
...
Fix: point to correct problem part of code, update test
2018-02-23 08:31:57 +01:00
Oliver Schneider
5e6342d4ae
Merge pull request #2473 from phansch/handle_multiline_attributes
...
Lint multiline attributes properly
2018-02-21 21:44:04 +01:00
Philipp Hansch
d3d3d7d7be
Lint multiline attributes properly
...
This makes it so that the `empty_line_after_outer_attribute` lint only
checks for newlines between the end of the attribute and the beginning
of the following item.
We need to check for the empty line count being bigger than 2 because
now the snippet of valid code contains only `\n` and splitting it
produces `["", ""]`
Invalid code will contain more than 2 empty strings.
2018-02-21 21:29:05 +01:00
bootandy
a7c97256dc
Stop unwanted newlines being applied on unwrap_or
2018-02-21 11:29:08 -05:00
bootandy
f3d1a0cec2
Add newlines in unwrap_or ui test
2018-02-20 12:37:30 -05:00
bootandy
941e062fd4
Fix: point to correct problem part of code
...
Fix span so it no longer contains the whole train-wreck of code and only
points to the problem function (for the unwrap_or lint).
https://github.com/rust-lang-nursery/rust-clippy/issues/2422
Update ui test methods - it had several cases where the error message
span is now shorter
2018-02-19 12:14:53 -05:00
Philipp Krones
c43e053f3f
Merge branch 'master' into suspicious_impl
2018-02-19 13:04:14 +01:00
flip1995
aa20277a17
Lint for suspicious implementations of arithmetic std::ops traits
2018-02-13 15:40:17 +01:00
TomasKralCZ
42120141bd
Suggestion fixed, simplified lint logic.
2018-02-12 11:26:00 +01:00
TomasKralCZ
85642ddd23
Implement redundant field names lint #2244
2018-02-10 22:52:31 +01:00
Oliver Schneider
6feb0dd982
Fixes #2426 (if_same_then_else false positive)
2018-02-09 15:31:55 +01:00
Oliver Schneider
ff32d5f734
Fix #2427
2018-02-09 15:25:12 +01:00
Jonathan Goodman
44780aca5d
make the copies.rs test actually test the correct lints
2018-02-08 13:26:50 -06:00
Oliver Schneider
6f48e37d22
Merge pull request #2444 from phansch/fix_incorrect_useless_attribute_suggestion
...
Partly fix incorrect useless_attribute suggestion
2018-02-07 09:07:46 +01:00
Philipp Hansch
81f5969704
Partly fix incorrect useless_attribute suggestion
...
This fixes an incorrect suggestion from the `useless_attribute` lint
when using `cfg_attr`.
Additionally, it will not show a suggestion anymore, if the attribute
begins on a previous line, because it is much harder to construct the
span of multi-line `cfg_attr` attributes as they don't appear in the AST.
To fix it completely, one would have to parse upwards into the file,
and find the beginning of the `cfg_attr` attribute.
2018-02-06 22:35:11 +01:00
Jonathan Goodman
73f2ba5ded
don't suggest eliding 'static on associated consts
2018-02-06 12:22:34 -06:00
flip1995
63a7daf78c
Make decimal_literal_representation a restriction lint
2018-02-06 13:05:20 +01:00
Guillem Nieto
bcf2e41421
Fix ICE comparing ExprRange
...
`eq_expr` on hir::utils was throwing an ICE due to an invalid
LateContext being used. Due to this missusage, it was generating an ICE
with the code on the following issue:
https://github.com/rust-lang-nursery/rust-clippy/issues/2423
2018-02-06 01:06:32 +01:00
Oliver Schneider
30a37efaac
Merge pull request #2433 from kimsnj/matches_sugg
...
Fix suggestions for ref matches
2018-02-05 08:21:21 +01:00
Oliver Schneider
7fddc6116e
Merge pull request #2415 from HMPerson1/fix-2356
...
Fix `ImplItem`s being ignored
2018-02-05 08:19:11 +01:00
Oliver Schneider
bef22006b4
Merge pull request #2419 from phansch/fix_doc_comment_false_positive
...
Fix false positive in empty_line_after_outer_attr
2018-02-05 08:17:29 +01:00
Karim Snj
21f606bd68
Removing extra newline
2018-02-04 13:55:37 +01:00
Karim Snj
9575dac491
Fix suggestions for ref matches
2018-02-04 13:41:54 +01:00
HMPerson1
10d2feddba
Fix const_static_lifetime
2018-02-02 02:03:21 -05:00
HMPerson1
ff83b3ecb9
Fix non_expressive_names
2018-02-02 01:54:07 -05:00
HMPerson1
3a4ea45821
Fix get_enclosing_block
2018-02-02 01:53:48 -05:00
Oliver Schneider
d5bac82837
Give travis a guaranteed existing directory for ui test output
2018-02-01 14:35:56 +01:00
Philipp Hansch
a64724fac4
Fix false positive in empty_line_after_outer_attr
...
Doc comments are syntactic sugar for #[doc] attributes, so this lint was
catching them, too.
This commit makes it so that doc comments are ignored in this lint.
I think, for normal attributes it makes sense to warn about following empty
lines, for doc comments, less. This way the user has some freedom over
the formatting.
2018-02-01 07:43:03 +01:00
Guillem Nieto
05ed421930
Update UI tests
2018-01-31 00:10:35 +01:00
Guillem Nieto
74ae9b15b5
Add question mark operator
2018-01-31 00:10:35 +01:00
flip1995
bd421cb5a5
Additionally suggest the semantic equal variant
2018-01-30 17:45:35 +01:00
flip1995
b7cb0752ff
Improved suggestion on misrefactored_assign_op lint. Fixes #1239
2018-01-30 14:58:38 +01:00
Oliver Schneider
39d1d6081f
Merge pull request #2340 from phansch/newline_after_attributes
...
Warn on empty lines after outer attributes
2018-01-30 13:09:23 +01:00
Seiichi Uchida
a3c2323767
Add double comparions lint
2018-01-30 10:35:35 +09:00
Tim Nielens
0778ac81c8
#1121 : already fixed, adding a test
2018-01-29 16:52:22 +01:00
Philipp Hansch
aade0d563e
Make lint work on all members of ast::Item_
2018-01-29 10:03:52 +01:00
Philipp Hansch
83909398d2
Add test case for comments between item and attr
2018-01-29 10:03:52 +01:00
Philipp Hansch
80827c1f74
Warn on empty lines after outer attributes
2018-01-29 10:03:52 +01:00
Manish Goregaokar
4b9a0b8644
Update spans
2018-01-29 09:48:11 +05:30
Manish Goregaokar
bca80a83a5
mut_mut_macro is missing plugin(clippy)
2018-01-29 09:48:06 +05:30
Devon Hollowood
0413b3f6cf
Add misaligned_transmute lint
2018-01-25 00:48:36 -08:00
Oliver Schneider
ea042657e5
Enable more patterns in the author lint
2018-01-24 13:04:06 +01:00
flip1995
31892e205e
let invalid_regex point to the right place for raw strings
2018-01-23 16:52:14 +01:00
Oliver Schneider
8e7f76db9a
Merge pull request #2362 from flip1995/master
...
Lint for numeric literals that have a better representation
2018-01-23 15:54:35 +01:00
flip1995
600147926b
Apply requested changes
2018-01-23 15:29:31 +01:00
flip1995
d7677fb2b6
Adapt to updated ui tests
2018-01-23 12:52:20 +01:00
flip1995
23f90afa1b
Add configurable threshold, default: 4096
2018-01-23 12:34:40 +01:00
Phil Ellison
2132e5c58c
Fix unnecessary_fold bug
2018-01-22 05:34:42 +00:00
Oliver Schneider
e6428873cb
Merge pull request #2350 from theotherphil/fold_any
...
Lint for using hand-writing a fold with the same behaviour as any
2018-01-19 13:31:00 +01:00
Oliver Schneider
71abd81d22
Update error count
2018-01-19 13:18:44 +01:00
Oliver Schneider
920fc17485
Don't run dogfood on windows or in the rustc test suite
2018-01-19 13:14:43 +01:00
Oliver Schneider
70302595a4
Merge branch 'master' of github.com:Manishearth/rust-clippy into fold_any
2018-01-19 12:10:24 +01:00
Oliver Schneider
9a2c50f3d6
Merge pull request #2364 from flip1995/precedence
...
Add macro check to precedence lint
2018-01-19 12:07:00 +01:00
Oliver Schneider
3c6064130b
Merge pull request #2367 from etaoins/inline-fn-without-body-lint
...
Lint for trait methods without bodies
2018-01-19 09:14:46 +01:00
Oliver Schneider
26c415ab2d
Merge pull request #2381 from HMPerson1/remove_is_unit_expr
...
Replace `is_unit_expr`
2018-01-19 09:14:04 +01:00
Michael Wright
79c6c60f51
Added further tests
2018-01-19 08:10:09 +02:00
Michael Wright
fca248957b
Merge branch 'master' into option_option_pr
2018-01-19 07:56:46 +02:00
HMPerson1
8081f6fd6e
Replace is_unit_expr
2018-01-18 17:04:26 -05:00
Oliver Schneider
10c96e50c3
Don't run dogfood tests in the rustc test suite
2018-01-18 22:02:58 +01:00
Oliver Schneider
8217e33718
Only suggest implementing Copy if it can actually be done
2018-01-18 14:27:47 +01:00
Ryan Cumming
7467b83377
Suggest removing inline attributes
...
This adds a `suggest_remove_item` helper that will remove an item and
all trailing whitespace. This should handle both attributes on the same
line as the function and on a separate line; the function takes the
position of the original attribute.
2018-01-18 20:02:42 +11:00
Ryan Cumming
5f3c340bfb
Lint for trait methods without bodies
...
As discussed in rust-lang/rust#47475 the #[inline] attribute is
currently allowed on trait methods without bodies (i.e. without a
default implementation). This is misleading as it could be interpreted
as affecting the implementations of the trait method. Add a lint for any
use of #[inline] on a trait method without a body.
Fixes rust-lang/rust#47475
2018-01-18 20:01:24 +11:00
Manish Goregaokar
552e950080
needless_pass_by_value: Whitelist RangeArgument ( fixes #2357 )
2018-01-18 14:30:53 +05:30
Manish Goregaokar
2a30c8a194
needless_pass_by_value: Add suggestion for implementing Copy ( fixes #2222 )
2018-01-18 14:30:47 +05:30
Manish Goregaokar
cf1fbaa36a
needless_pass_by_value: Ignore for extern funcs ( fixes #1844 )
2018-01-18 14:30:32 +05:30
Michael Wright
d13af87d8a
Fixed tests
2018-01-18 07:48:03 +02:00
Michael Wright
ec60baa864
Merge branch 'master' into option_option_pr
2018-01-18 07:21:48 +02:00
Phil Ellison
b73efad600
Add some reviewer comments
2018-01-17 21:06:16 +00:00
Phil Ellison
29a2dd4cb8
Fix bug. Don't expect lint when acc is on rhs
2018-01-17 20:11:40 +00:00
Phil Ellison
1cac693bc7
Lint on folds implementing .all, .sum and .product
2018-01-17 19:12:44 +00:00
Oliver Schneider
4f21b5b112
Update changed ui tests
2018-01-17 14:44:40 +01:00
Oliver Schneider
a2fdfc05d7
Merge pull request #2298 from goodmanjonathan/else_if_without_else
...
add new lint else_if_without_else
2018-01-17 09:35:58 +01:00
Michael Wright
e7567f2eac
Made requested changes
2018-01-17 07:24:33 +02:00
Michael Wright
21fde9a9d1
Merge branch 'master' into option_option_pr
2018-01-17 06:52:00 +02:00
Phil Ellison
a64d19cc0e
Fix error span to play nicely with rustfix
2018-01-16 21:20:55 +00:00
Manish Goregaokar
37f62a54f8
Show wider and more accurate suggestion for const_static_lifetime
...
fixes #2365
2018-01-16 20:46:44 +05:30
flip1995
877321ba32
Add macro check to precedence lint
2018-01-16 15:52:16 +01:00
flip1995
647da97622
Lint for numeric literals that have a better representation in another format
2018-01-16 14:01:07 +01:00
Oliver Schneider
61e2b7a4d6
Merge pull request #2355 from alusch/clone_on_ref_ptr_restriction
...
Fix #2048 : Move `clone_on_ref_ptr` to the restriction lints
2018-01-16 10:40:12 +01:00
Oliver Schneider
28c3d0321a
Update changed test output from rustc
2018-01-16 08:52:14 +01:00
Jonathan Goodman
40c6f431da
add new lint else_if_without_else
2018-01-14 22:53:00 -06:00
Adam Lusch
f343cd22f6
Adds the missing turbofish
2018-01-14 20:19:55 -08:00
Adam Lusch
30de2e7106
Update UI test expected output
2018-01-14 20:10:36 -08:00
Adam Lusch
1615813960
Moves clone_on_ref_ptr
to be a restriction lint
...
Also updates the suggestion to include the full type (e.g. `Arc<Foo>::clone(&rc)`)
and adds a case using trait objects to the UI tests.
2018-01-14 19:58:09 -08:00
Phil Ellison
ad164939ed
Check that we're calling Iterator::fold
2018-01-14 20:04:34 +00:00
Phil Ellison
70a5535ffa
Address some review comments
2018-01-14 18:18:09 +00:00
Oliver Schneider
2f62d803ab
Merge pull request #2349 from rust-lang-nursery/no-main-doc
...
Don't warn about missing docs for main()
2018-01-14 13:16:54 +01:00
Phil Ellison
1feb9fd550
Tidy using if_chain and snippet function. Actually check that the initial fold value is false. Remove some unwraps
2018-01-14 09:30:08 +00:00
Phil Ellison
f6e56d2559
First pass at linting for .any expressed as a .fold
2018-01-14 08:27:53 +00:00
Manish Goregaokar
7e63f93d81
Don't warn about missing docs for main()
...
Fixes #2348
2018-01-14 11:35:08 +05:30
Oliver Schneider
cc9008b7d4
Merge pull request #2347 from kimsnj/extrem_comp
...
Fix #1159 : avoid comparing fixed and target sized types in lint
2018-01-13 12:27:36 +01:00
kimsnj
53c0ae0169
Fix #1159 : avoid comparing fixed and target sized types in lint
2018-01-12 18:33:25 +01:00
Oliver Schneider
b863a00a4e
Merge pull request #2344 from HMPerson1/svar_to_cfn
...
Add lint to replace `const`s with `const fn`s
2018-01-12 14:59:06 +01:00
Oliver Schneider
7e21663f75
Merge pull request #2296 from DarrenTsung/test_types
...
Start regression tests for types.rs
2018-01-12 14:55:39 +01:00
HMPerson1
8505ee7028
Add lint to replace const
s with const fn
s
2018-01-11 12:03:46 -05:00
Oliver Schneider
1245de1e46
Don't suggest changing explicit Clone impls if they have generics
2018-01-11 10:28:42 +01:00
Philipp Hansch
fded77d85e
Split up casting UI tests
...
Part of #2038
2018-01-06 11:22:20 +01:00
Pascal Hertleif
82d91c5fcb
Add auto-fixable println!()
suggestion
...
Fixes #2319
2018-01-04 12:46:26 +01:00
Michael Wright
6737bae9b1
Implemented option_option lint
2017-12-26 09:24:12 +02:00
Darren Tsung
0f4c40b229
Start regression tests for types.rs
2017-12-23 10:15:11 -08:00
Darren Tsung
50eb48e42b
Create failing test for equal inside macro
2017-12-22 10:37:44 -08:00
Oliver Schneider
2179f4d790
Merge pull request #2284 from rust-lang-nursery/new-macro
...
Move mini-macro to proc macro
2017-12-20 21:56:00 +01:00
Manish Goregaokar
775372db90
Move mini-macro to proc macro
...
We can add a bang-style proc macro again once it stabilizes (we can use
the proc macro hack, but it's unnecessary for now)
2017-12-20 08:16:44 -08:00
Wilco Kusee
a6ccc6fe3d
Also suggest as_mut for match_as_ref
2017-12-20 10:39:48 +01:00
Wilco Kusee
919601bc51
Lint for matching option as ref
2017-12-19 23:51:06 +01:00
Oliver Schneider
8ddcb81a15
Rustup and lazy_static version mismatch fix
...
fixes #2274
2017-12-15 10:05:32 +01:00
Oliver Schneider
f5f0273f53
Update ui tests to latest rustc changes
2017-12-07 11:21:37 +01:00
laurent
6c18811764
Revert the regex test change.
2017-12-01 19:59:40 +00:00
laurent
904f27a2ea
Do raise a same-arms warning when the two arms are separated by an arm with a guard, fix #1996 .
2017-12-01 19:25:43 +00:00
HMPerson1
c2c324ec65
Update ui test
2017-11-30 19:50:31 -05:00
HMPerson1
e2bc383383
Add linting for empty blocks too
2017-11-30 19:40:40 -05:00
HMPerson1
5fca6eb89e
Fix #2160
2017-11-30 15:31:56 -05:00
Oliver Schneider
7d7fef1690
Fix #1925
2017-11-30 10:55:06 +01:00
Oliver Schneider
1c95a7cf35
Merge pull request #2251 from LaurentMazare/master
...
Add a couple small tests to the match-same-arm lint + fix a small issue in search_same.
2017-11-30 10:53:48 +01:00
Oliver Schneider
4d9c41f566
Use latest compiletest
2017-11-30 09:31:23 +01:00
laurent
c3ae2ddeb3
Fix a bug in search_same + add a test case.
2017-11-29 21:42:58 +00:00
laurent
3eb642bcdd
Add another test.
2017-11-29 20:52:49 +00:00
laurent
f8dbd32433
Add a couple small tests to the match-same-arm lint.
2017-11-29 20:42:37 +00:00
Oliver Schneider
273ddafac5
Fix #2188
2017-11-29 17:20:00 +01:00
Oliver Schneider
d5b73c184b
Fix placement of new_without_default suggestion
2017-11-29 17:10:53 +01:00
Oliver Schneider
317e97bae7
Fix #2196
2017-11-29 17:06:27 +01:00
Oliver Schneider
e62727ee51
Add regression test ( fixes #2234 )
2017-11-29 16:05:13 +01:00
Oliver Schneider
0b0337d258
Fix #2247
2017-11-29 15:52:57 +01:00
Oliver Schneider
ad63e4eaef
Update ui output to latest nightly
2017-11-29 15:45:12 +01:00
Oliver Schneider
34da5d93ef
Merge pull request #2246 from lukasstevens/master
...
Check for word beginning in stutter lint
2017-11-27 11:05:37 +01:00
Oliver Schneider
656df3c5ed
Update stderr output to rustc changes
2017-11-27 10:20:38 +01:00
Lukas Stevens
d55d4e5144
Update ui tests
2017-11-26 18:57:34 +01:00
Oliver Schneider
af718413db
Rustup
2017-11-22 10:55:12 +01:00
Oliver Schneider
c5fa86da04
Merge pull request #2203 from clippered/float_cmp_const
...
Fix #1142 float constant comparison lint
2017-11-20 09:51:12 +01:00
Laurent Mazare
e7f4a9bb46
Fix for the new nightly version.
2017-11-20 07:47:28 +00:00
laurent
41a6d015ff
More tests.
2017-11-19 11:29:25 +00:00
laurent
ed202b6055
Bugfix + add test.
2017-11-19 11:29:25 +00:00
Georg Brandl
76324851b5
tests: fixup arg handling for update-all-references
...
This script does not take any args, so $1 being empty is expected.
2017-11-18 16:11:55 +01:00
Georg Brandl
296edda3a9
const_static_lifetime: this applies not only to path types
...
For example, &'static [u8] or &'static (t1, t2).
2017-11-18 16:10:29 +01:00
Oliver Schneider
f975fb54f8
Merge pull request #2216 from LaurentMazare/master
...
Handle methods with an obvious negation in the non-minimal bool lint
2017-11-15 09:08:36 +01:00
laurent
25783fa485
Raise a lint when suggest has simplified the expression.
2017-11-14 21:14:08 +00:00
Oliver Schneider
bdf3887d22
Move 'handle_method_call_in_not' code into 'suggest'
2017-11-14 17:07:04 +01:00
Oliver Schneider
561d47f338
Merge remote-tracking branch 'origin/master' into laurent_master
2017-11-14 16:46:56 +01:00
Oliver Schneider
b464432972
Merge branch 'master' of github.com:Manishearth/rust-clippy into rust-test
2017-11-14 16:31:52 +01:00
Oliver Schneider
127c41f700
Apply changes that were required for running in the rustc test suite
2017-11-14 14:56:00 +01:00
Oliver Schneider
09d988521d
Merge pull request #2214 from rust-lang-nursery/nrlfp
...
Improve `needless_range_loop`
2017-11-10 10:11:20 +01:00
Oliver Schneider
299f1270a6
Rustup
2017-11-10 08:58:54 +01:00
Shotaro Yamada
b17899878f
Build path from current_dir
2017-11-09 14:47:14 +09:00
Shotaro Yamada
5c0b99820b
Use compiletest 0.3
2017-11-09 11:05:49 +09:00
laurent
82793768b7
Handle methods with an immediate negation in the non-minimal boolean lint, fixes #1930 .
2017-11-07 21:43:24 +00:00
Oliver Schneider
1b323b9f35
Don't lint mixed slice indexing and usize indexing in needless_range_loop
2017-11-07 15:32:52 +01:00
Oliver Schneider
652df0fb79
Differentiate between mutable iteration and immutable iteration in needless_range_loop
2017-11-07 14:41:54 +01:00
Oliver Schneider
088555c4ea
Merge pull request #2209 from sinkuu/trait_methods
...
Fix false positive in needless_pass_by_value trait methods
2017-11-07 08:26:32 +01:00
laurent
c9681905ba
Fix broken tests.
2017-11-06 23:26:44 +00:00
laurent
e2b9cf836a
Fix merge issues.
2017-11-06 23:22:19 +00:00
sinkuu
6fb736bd42
Fix false positive in needless_pass_by_value trait methods
2017-11-07 06:33:49 +09:00
sinkuu
00081be73d
Rustup
2017-11-07 06:32:12 +09:00
clippered
66bc12564a
put back negative tests but allow float_cmp
2017-11-06 21:34:30 +11:00
clippered
ddaf8580d5
remove duplicate tests with float_cmp
2017-11-06 20:23:18 +11:00
clippered
cd3106d99f
add more negative tests
2017-11-06 20:02:42 +11:00
Oliver Schneider
ed589761e6
Merge pull request #2202 from topecongiro/format
...
Run `cargo fmt`
2017-11-06 08:35:52 +01:00
Oliver Schneider
4018b0a495
Merge pull request #2197 from AlexEne/dissalow-underscores-and-numbrers
...
Warns if variable name is composed only of underscores and digits.
2017-11-06 08:11:45 +01:00
laurent
bcdf57e220
Refactor the never-loop detection, fixes #1991 .
2017-11-05 14:43:28 +00:00
clippered
2787a60fc2
Fix #1142 float constant comparison lint
2017-11-05 09:37:17 +11:00
topecongiro
7a06d312fd
Cargo fmt
2017-11-05 04:55:56 +09:00
Alexandru Ene
f92c91601e
Addressed PR comments
2017-11-03 20:54:33 +00:00
sinkuu
d88cc5376e
Add test to take Self
as an argument
2017-11-03 17:56:26 +09:00
sinkuu
be7c4b4862
Fix test
2017-11-03 17:36:38 +09:00
sinkuu
cad33c0306
Extend needless_pass_by_value to methods
2017-11-03 17:36:38 +09:00
cgm616
3902b836e7
Update tests
2017-11-02 23:54:35 -05:00
cgm616
ee289c9f88
Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy
2017-11-02 22:57:07 -05:00
Alexandru Ene
9d01468bc7
Warns if variable name is composed only of underscores and digits.
2017-11-03 01:01:41 +00:00
Oliver Schneider
cabbc781ca
Merge pull request #2189 from gendx/pr-1590
...
Start working on #1590
2017-11-02 10:29:30 +01:00
sinkuu
7fa27d9387
Lint transmute::<&[u8], &str>
2017-11-01 18:05:46 +09:00
kennytm
44d3ea5308
Fix lint_without_lint_pass
2017-10-31 10:04:02 -07:00
Manish Goregaokar
c526c51923
Update clippy for rustc 1.23.0-nightly (f0fe716db 2017-10-30)
2017-10-31 00:07:10 -07:00
G. Endignoux
87fd68731d
Update UI tests.
2017-10-30 14:10:38 +01:00
G. Endignoux
f0a1eff1c4
Start working on #1590
2017-10-30 13:08:09 +01:00
Manish Goregaokar
09143cdaf0
Update tests; make it work with generics on context
2017-10-29 05:19:24 -04:00
cgm616
fed5a89076
Add tests for pub_restricted
2017-10-28 13:24:39 -05:00
cgm616
d094f98f0b
Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy
2017-10-28 12:55:16 -05:00
Alex Burka
2153d1e560
manual fixups if_let_chain -> if_chain
2017-10-23 17:53:30 -04:00
Oliver Schneider
2771378620
Merge pull request #2136 from ykrivopalov/identity_op_fixing
...
Identity/erasing operation lints
2017-10-23 09:25:08 +02:00
Oliver Schneider
b96639f23a
Merge pull request #2143 from HMPerson1/master
...
Add lint for fallible impls of `From`
2017-10-23 09:21:31 +02:00
Oliver Schneider
6d89798119
Merge pull request #2163 from HMPerson1/useless_asref
...
Add lint for useless `as_ref` calls
2017-10-23 09:16:44 +02:00
cgm616
29626b883e
Merge branch 'master' of github.com:rust-lang-nursery/rust-clippy
2017-10-22 10:14:44 -04:00
HMPerson1
bfa7a9b138
Add tests for generic code
2017-10-21 13:55:12 -04:00
cgm616
60c7bd47a5
Prevent should_implement_trait on private method
...
This should close #2159 .
2017-10-21 07:53:57 -04:00
sinkuu
00d35eea26
Fix typo
2017-10-21 19:16:13 +09:00
HMPerson1
7206023b1b
Change to TryFrom
2017-10-20 20:47:51 -04:00
HMPerson1
e5076d06db
Add lint for From<String>
2017-10-20 20:47:30 -04:00
HMPerson1
ff4a850353
Add lint for useless as_ref
calls
2017-10-20 20:33:19 -04:00
Oliver Schneider
0e489f3221
Merge pull request #2146 from MaloJaffre/println_empty_string
...
Add PRINTLN_EMPTY_STRING lint.
2017-10-20 17:39:34 +02:00
Malo Jaffré
22f3ca0e2c
Add PRINTLN_EMPTY_STRING lint.
2017-10-20 16:45:32 +02:00
Paul Florence
acdd93a5cc
Final .stderr for const_static_lifetime
.
2017-10-20 10:17:55 -04:00
Paul Florence
0928168a79
Remove "#![feature(plugin)]" in the test".
2017-10-20 10:17:41 -04:00
Paul Florence
4bbda68d56
Better linting : use of span_lint_and_then.
2017-10-20 10:17:41 -04:00
Paul Florence
fbce504664
Added the test results.
2017-10-20 10:17:41 -04:00
Paul Florence
322effe415
Implementation of the const_static_lifetime
lint.
2017-10-20 10:17:41 -04:00
Oliver Schneider
9293188b65
Merge pull request #2156 from cgm616/master
...
Deprecate should_assert_eq lint
2017-10-20 15:24:52 +02:00
Oliver Schneider
281bd790de
Merge pull request #2148 from sinkuu/proc_macro
...
needless_pass_by_value false-positive in annotation
2017-10-20 11:12:21 +02:00
cgm616
4960d9de86
Deprecate should_assert_eq lint
...
This should close #2090 .
2017-10-19 23:42:04 -05:00
sinkuu
9221bd9c97
Add test
2017-10-18 14:06:38 +09:00
clippered
dfa4cb7ade
Fix #2123 : check that the source and destination are different for manual memcpy
2017-10-18 07:06:01 +11:00
Oliver Schneider
f01e45faa4
Merge pull request #2131 from devonhollowood/suggest-print
...
Suggest print
2017-10-17 15:26:41 +02:00
Oliver Schneider
343e438f9d
Merge pull request #2120 from sinkuu/implicit_hasher
...
Implicit hasher lint
2017-10-17 15:24:20 +02:00
sinkuu
eea30777dd
Type parameter change and type change are now in a multispan suggestion
2017-10-17 21:40:46 +09:00
sinkuu
a4f45e85b1
Use cx.access_levels.exported() instead of visibility
2017-10-17 21:13:17 +09:00
Yury Krivopalov
7b16f4d7ff
Clarify message for erasing_op lint
2017-10-15 10:32:47 +03:00
Devon Hollowood
eda013d3af
Change lint filename
...
suggest_print.rs -> explicit_write.rs
2017-10-14 21:42:14 -03:00
Devon Hollowood
aeeb38dab1
Change lint name
...
From `suggest_print` to `explicit_write`
2017-10-14 21:26:50 -03:00
Yury Krivopalov
033c99b1ba
Add erasing_op lint
...
For expressions that can be replaced by a zero.
2017-10-14 12:34:37 +03:00
Yury Krivopalov
f68e408cb6
identity_op lint fix for '&' with unsigned types
2017-10-14 12:21:23 +03:00
sinkuu
c3332ca92e
Fix panic with fake Range
type
2017-10-13 21:51:57 +09:00
Devon Hollowood
e31a0941e2
Fix output for write macros
2017-10-12 05:53:20 -03:00
Devon Hollowood
1089380518
Add expected output
2017-10-12 05:33:00 -03:00
Devon Hollowood
888076b698
Add suggest_print lint
2017-10-12 05:30:35 -03:00
sinkuu
31f16b87b7
Use rustc_typeck::hir_ty_to_ty
2017-10-11 23:08:36 +09:00
sinkuu
5a61d88fa1
Apply suggestions
2017-10-11 22:17:00 +09:00
Oliver Schneider
f0aa2c1587
Merge pull request #2127 from rust-lang-nursery/enum_variant_names_fp
...
Don't lint accidental "prefixes" on enum variants
2017-10-11 13:16:59 +02:00
Oliver Schneider
58002b0e37
Merge pull request #2119 from camsteffen/never_loop
...
Another never_loop fix
2017-10-11 08:21:28 +02:00
sinkuu
159cc8413c
Add implicit_hasher lint ( #2101 )
2017-10-11 12:10:26 +09:00
Lukas Stevens
4438c41d14
Make suggested changes
...
- Fix copy-paste error
- Check for opt.map_or argument after ensuring that opt is an Option
- Use span_lint_and_then and span_suggestion
- Update reference
2017-10-10 15:35:24 +02:00
Lukas Stevens
eb53cca768
Add lint for opt.map_or(None, f)
...
Change to Warn and add multiline support
Fix typo
Update reference
2017-10-10 13:37:45 +02:00
Oliver Schneider
af6e2a1e4e
Don't lint accidental "prefixes" on enum variants
2017-10-10 12:37:59 +02:00
Oliver Schneider
b62b1b68ed
Merge pull request #2126 from camsteffen/split-tests
...
Split some UI tests
2017-10-10 10:06:14 +02:00
Oliver Schneider
408b5220a8
Merge pull request #2122 from sinkuu/local_span
...
Test failure fix with rustc 1.22.0-nightly (150b625a0 2017-10-08)
2017-10-10 09:39:10 +02:00
Oliver Schneider
28c401f9db
Merge pull request #2118 from chyvonomys/relax-needless-loop
...
relax `needless_range_loop` so that it reports only direct indexing
2017-10-10 09:37:51 +02:00
Cameron Steffen
35882b09da
move get_unwrap tests
2017-10-10 00:14:47 -05:00
Cameron Steffen
90b428e88d
move ok_expect tests
2017-10-10 00:03:39 -05:00
Cameron Steffen
3356d121df
move string_extend tests
2017-10-09 23:57:17 -05:00
Cameron Steffen
6d94167014
move cstring tests
2017-10-09 23:39:45 -05:00
Cameron Steffen
5eeadcfc43
move unnecessary clone tests
2017-10-09 23:38:56 -05:00
Cameron Steffen
18717ae088
move single_char_pattern tests
2017-10-09 23:37:46 -05:00
Cameron Steffen
c1a147f48e
move starts_ends_with tests
2017-10-09 23:36:29 -05:00
sinkuu
9ebc30cb0c
rustc 1.22.0-nightly (150b625a0 2017-10-08)
2017-10-09 22:49:54 +09:00
Cameron Steffen
9ccb7108b5
fix never_loop
2017-10-08 17:26:39 -05:00
Cameron Steffen
a013568f70
add never_loop tests
2017-10-08 17:03:34 -05:00
Andriy S. from cobalt
1dc0b5c9ec
tests for needless_range_loop
2017-10-08 22:37:04 +03:00
Oliver Schneider
73a1dd8e7f
Merge pull request #2117 from sinkuu/improve_take_by_value
...
Improve needless_pass_by_value
2017-10-08 20:14:55 +02:00
Niklas Fiekas
16781a1d89
Add tests for range_plus_one and range_minus_one
2017-10-08 14:15:37 +02:00
Oliver Schneider
a54baad4fa
Merge pull request #2112 from topecongiro/issue-2109
...
Add a suggestion to replace `map(f).unwrap_or(None)` with `and_then(f)`.
2017-10-08 11:51:15 +02:00
sinkuu
2be6245179
Duplicate ptr_arg's suggestion logic
2017-10-08 17:51:44 +09:00
sinkuu
bf97cd0338
Reduce false-positives for needless_pass_by_value lint
...
Excluding a type whose reference also fulfills the trait bound.
2017-10-08 17:25:56 +09:00
Chris Emerson
dcaaab3801
Add a test with a struct containing a String.
2017-10-07 23:32:09 +01:00
Chris Emerson
fcdce8fc1d
Merge branch 'master' into no_effect_with_drop
2017-10-07 23:24:36 +01:00
Seiichi Uchida
7f4b583c47
Add multiline case for test against map(f).unwrap_or(None)
2017-10-07 21:14:30 +09:00
Seiichi Uchida
f5c941a404
Update OPTION_MAP_UNWRAP_OR lint
...
Add a suggestion to replace `map(f).unwrap_or(None)` with `and_then(f)`.
2017-10-06 22:06:47 +09:00
Cameron Steffen
d6b35f9839
add never_loop test
2017-10-05 23:46:08 -05:00
sinkuu
1b1b41a5e6
Test if #[allow] works
2017-10-04 22:26:41 +09:00
sinkuu
771d2220d2
Add identity_conversion lint ( fixes #1051 )
2017-10-04 22:16:16 +09:00
PizzaIter
47df717229
Add lints transmute_int_to_*
2017-10-03 14:27:42 +02:00
Oliver Schneider
50ffaca4c9
Reduce the hackiness of cargo-clippy
2017-10-03 12:07:24 +02:00
Oliver Schneider
ebc9891fc6
Merge pull request #1838 from rust-lang-nursery/fix-doc
...
Don't lint autolinks in `doc_markdown`
2017-09-30 17:10:09 +02:00
mcarton
aca6c1e065
Have a separate message for raw URLs in doc
2017-09-30 14:59:22 +02:00
mcarton
e40c270d4f
Don't lint autolinks in doc_markdown
2017-09-30 14:46:55 +02:00
Laura Peskin
ddad5e0f86
add tests for false positives
2017-09-29 21:01:11 -04:00
Laura Peskin
7fd11d23b0
add ui test for invalid_ref
2017-09-29 21:01:10 -04:00
Laura Peskin
f3e51d8d65
add lint for creation of invalid references
2017-09-29 21:01:10 -04:00
mcarton
7e956ac7c4
Fix regression with print!
2017-09-29 19:13:21 +02:00
mcarton
cae9cedeb5
Fix regression with format!
2017-09-29 18:36:03 +02:00
Oliver Schneider
bc76f397c6
Merge pull request #2084 from ykrivopalov/bit_mask_verbosity_threshold
...
Configuration option for VERBOSE_BIT_MASK threshold
2017-09-29 08:49:27 +02:00
Manish Goregaokar
3159a7f2a1
Update ... -> ..= in tests
2017-09-28 10:40:37 -07:00
Manish Goregaokar
387efd459c
Merge branch 'pr-1945'
2017-09-25 20:11:10 -07:00
Manish Goregaokar
bfc31536c7
Make it a ui test, update
2017-09-25 18:32:05 -07:00
Manish Goregaokar
04c44fa3fe
Update line numbers
2017-09-25 13:52:17 -07:00
Michal Budzynski
44ecc19a3f
stabilizing feature iterator_for_each for rust 1.21.0
2017-09-25 13:45:38 -07:00
Yury Krivopalov
a3ad409341
Configuration option for VERBOSE_BIT_MASK threshold
...
By default is 1. u64, because I didn't figure out how to deserialize
u128 option from config.
2017-09-25 23:38:49 +03:00
Manish Goregaokar
6842a522bb
Merge pull request #2079 from rust-lang-nursery/ptr_arg-vs-capacity
...
avoid linting `ptr_arg` if `.capacity()` is called.
2017-09-25 10:22:57 -07:00
Laura Peskin
d7867ef8c1
add lint for mutable borrow; may have false positives. pushed for feedback
2017-09-25 02:00:21 -04:00
Laura Peskin
9a17150a06
refactor, add spans to warnings, add tests
2017-09-24 15:40:17 -04:00
Manish Goregaokar
d0eff10a7c
Update test, fix lint
2017-09-24 15:40:16 -04:00
Laura Peskin
319f12a4c4
implement lint for mutable range bound
2017-09-24 15:40:16 -04:00
Laura Peskin
b091fb9b24
add lint declaration and example that should trigger the lint
2017-09-24 15:40:16 -04:00
Oliver Schneider
4ab2223e59
Merge pull request #2060 from mrecachinas/feature/int-plus-one
...
Addresses #1955 - Suggests >= y + 1 become > y
2017-09-24 13:57:56 +02:00
Manish Goregaokar
50e410e796
Update test expectations
2017-09-23 13:35:06 -07:00
Michael Recachinas
21e9a1285d
Use span_lint_and_then as per feedback
2017-09-23 19:32:11 +01:00
Andre Bogus
1e0268fda8
avoid linting ptr_arg
if .capacity()
is called. Also suggest removing .as_str()
where applicable.
...
THis fixes #2070 .
Also fixes a few formatting mishaps
2017-09-20 23:59:23 +02:00
Chris Emerson
f680eb164d
Update unnecessary_operation and no_effect to not suggest removing
...
structs/enums wrappers when that type implements Drop as noted
in #2061 .
2017-09-18 20:07:33 +01:00
Michael Recachinas
bb40bd68a4
Add tests for 'int_plus_one'
2017-09-17 17:27:40 +01:00
Oliver Schneider
2bb8efdb4d
Merge pull request #2058 from rust-lang-nursery/ptr_arg-vs-clone
...
add suggestions for .clone() in ptr_arg fns
2017-09-17 15:37:21 +02:00
Marcus Klaas
48ed3c058f
Extend MANUAL_MEMCPY lint so that it also detects manual clones between slices
2017-09-16 19:17:22 -04:00
Marcus Klaas
a6206cc5f8
Add test for manual slice clones
2017-09-16 18:53:55 -04:00
llogiq
708a818094
Merge pull request #2057 from topecongiro/issue-1818
...
Enhance CHARS_*_CMP lint
2017-09-16 09:16:55 +02:00
Andre Bogus
72be166756
add suggestions for .clone() in ptr_arg fns
2017-09-16 09:10:26 +02:00
topecongiro
d5d300c034
Update tests
2017-09-16 14:50:30 +09:00
topecongiro
d8afe2ccbc
Update tests
2017-09-16 11:27:46 +09:00
Seiichi Uchida
0215a1acb0
Update a test
2017-09-14 22:27:29 +09:00
topecongiro
49d388d4ec
Remove '\t' from .stderr
...
to make cargo test pass
2017-09-14 13:18:34 +09:00
Oliver Schneider
32a9394490
Rustup
2017-09-13 15:34:04 +02:00
Oliver Schneider
36cd745640
Regressions ( #2041 )
2017-09-12 14:25:58 +02:00
Andre Bogus
e7e8e79020
suggestion for ptr_arg
2017-09-10 19:32:24 +02:00
Aaron Hill
d318ced660
Add CLONE_ON_REF_PTR lint
...
Closes issue #1645
2017-09-09 21:52:19 -04:00
Oliver Schneider
78f6db907c
Soft rustup (only fixed some tests)
2017-09-08 12:28:31 +02:00
Manish Goregaokar
8aa1d118b3
Merge pull request #2004 from sunfishcode/master
...
When suggesting `from(x)` for lossless casts, strip parens from `x`.
2017-09-05 15:09:39 -07:00
Manish Goregaokar
0ceba6bed6
format comment
2017-09-05 14:19:51 -07:00
Manish Goregaokar
44b852b10e
Merge pull request #2023 from montrivo/while_let_loop
...
`while_let_loop` doesn't take into account break-with-value #1948
2017-09-05 14:19:00 -07:00
Tim Nielens
7489a84c6a
while_let_loop
doesn't take into account break-with-value #1948
2017-09-05 22:28:30 +02:00
Oliver Schneider
8c824e4cbc
Also ignore continue
statements in is_unit_expr
2017-09-05 12:12:44 -07:00
Dan Gohman
396cfa7055
Only strip parens for binary expressions.
2017-09-05 10:55:08 -07:00
Dan Gohman
ffa0bd24ed
Add a testcase demonstrating how precedence interacts with the lossless-cast lint.
2017-09-05 10:55:08 -07:00
Dan Gohman
35cf2715dc
When suggesting from(x)
for lossless casts, strip parens from x
.
2017-09-05 10:55:04 -07:00
Marcus Klaas
90f345df94
Add lint to detect manual slice copies
2017-09-05 12:56:26 +02:00
Oliver Schneider
b32631794a
Rustfmt for_loop.rs and add false positive tests
2017-09-05 12:53:52 +02:00
Oliver Schneider
e4524ac4de
Run nightly rustfmt
2017-09-05 12:39:27 +02:00
Oliver Schneider
7757c893ef
Fix len_zero
ICE
2017-09-04 17:05:47 +02:00
Manish Goregaokar
35eda0531a
Fix unit_expr expectations and changelog entry
2017-09-03 14:14:20 -07:00
Zaki Manian
44f694d0a1
Rustfmt tests
2017-09-03 13:46:49 -07:00
Zaki Manian
8b53f2238b
Fix all the clippy lints
...
Add false positive tests
2017-09-03 13:39:49 -07:00
Zaki Manian
e0caf26586
RustFmt file and tests
2017-09-03 11:19:59 -07:00
Zaki Manian
eb7955b265
More relevant tests
2017-09-03 10:39:28 -07:00
Zaki Manian
436d838ad7
Update unit tests
2017-09-03 09:12:55 -07:00
Zaki Manian
33e86407fd
early tests
2017-09-03 08:56:34 -07:00
Oliver Schneider
ff91c6359a
wiki -> docs
2017-09-01 12:34:10 +02:00
Oliver Schneider
c64073b2f5
Deprecate the wiki and remove the lint list from the README ( fixes #1933 )
2017-09-01 12:34:05 +02:00
Dan Gohman
1ea70116d3
Enable the cast_lossless warning by default.
2017-08-29 05:48:56 -07:00
Oliver Schneider
6bc7893b70
Merge pull request #1956 from sunfishcode/master
...
Add a lint for lossless casts.
2017-08-29 08:50:36 +02:00
Tim Nielens
ec79970771
len_without_is_empty false positive #1740
2017-08-28 23:18:12 +02:00
Oliver Schneider
73d87d966d
Update tests to current rustc
2017-08-28 18:16:16 +02:00
Dan Gohman
7714203c72
Add a lint for lossless casts.
2017-08-28 08:42:33 -07:00
Oliver Schneider
23bc6508bb
Merge pull request #1861 from CBenoit/master
...
Add example for needless borrowed ref lint and register it
2017-08-28 14:34:30 +02:00
Andre Bogus
df903edddd
New lint: (maybe_)infinite_iter
...
This fixes #1870 (mostly, does not account for loops yet)
2017-08-25 22:20:52 +02:00
Alexey Zabelin
695bedbe27
Rename match_path_old
to match_path
...
The old `match_path` was renamed to `match_qpath`.
As per #1983 .
2017-08-24 20:42:50 -04:00
Oliver Schneider
ab362031ed
Merge pull request #1959 from DarkEld3r/1884-borrowed-box-any
...
Fix borrowed_box lint for Box<Any>
2017-08-24 23:59:15 +02:00
Oliver Schneider
36e417cce5
Merge pull request #1982 from rust-lang-nursery/bytecount
...
new lint: naive_bytecount
2017-08-24 09:09:56 +02:00
Andre Bogus
6d989c729d
add closure arg check, also catch non-consts
2017-08-23 17:54:35 +02:00
Stanislav Tkach
45ff467c31
Fix borrowed_box lint for Box<Any>
2017-08-23 17:00:39 +03:00
Andre Bogus
70e34077d5
new lint: naive_bytecount
2017-08-22 23:45:08 +02:00
Tim Nielens
572b3388ac
lint #1674 : lifetimed types exclusion
...
add expect() message and update test results
2017-08-22 19:22:47 +02:00
Tim Nielens
3f575d874b
lint #1674 : lifetimed types exclusion
2017-08-22 19:08:49 +02:00
Oliver Schneider
992d88ab58
Merge pull request #1977 from rust-lang-nursery/panic
...
Fix a panic and a false positive
2017-08-22 10:20:02 +02:00
Andre Bogus
2362177aaf
fix #768 by checking for message macro expansion
2017-08-21 23:23:54 +02:00
Oliver Schneider
c3ef220bba
Rebase and update ui test
2017-08-21 14:22:41 +02:00
Oliver Schneider
66346b22ff
Merge pull request #1973 from rust-lang-nursery/fix-1920
...
remove stars at the beginning of multiline comments
2017-08-21 13:52:26 +02:00
Oliver Schneider
3eab44acb1
Don't trigger Self
suggestion inside derives
2017-08-21 12:58:06 +02:00
Oliver Schneider
56068b1b67
Fix ICE #1969
2017-08-21 12:57:33 +02:00
Oliver Schneider
f1847f7a98
Test changes
2017-08-21 10:26:46 +02:00
Oliver Schneider
5e5478a3c3
Merge pull request #1931 from rust-lang-nursery/move_links
...
Change all links to reflect the move to rust-lang-nursery
2017-08-21 09:35:19 +02:00
Andre Bogus
93c48a0977
remove stars at the beginning of multiline comments
2017-08-19 22:52:49 +02:00
Oliver Schneider
d1eecbaa2f
Merge pull request #1965 from montrivo/use_self
...
lint #1674 : replace struct name with `Self` when applicable
2017-08-18 20:54:18 +02:00
Tim Nielens
7aebe3a690
lint #1674 : replace struct name with Self
when applicable
...
SelfType const and suggestion
2017-08-18 19:46:50 +02:00
Joonas Koivunen
171f7b4eb7
tests/ui/let_unit: fix comment and example code
...
The previous version would had deadlocked as the Sender remained alive
and iterator would had never became complete. Just in case someone
decided to run it.
2017-08-18 17:29:05 +03:00
Joonas Koivunen
cf8e95eb22
is_from_for_desugar: add match for for _ in x
...
This will avoid `let_unit_value` in the examples in the ui-test.
It might match too widely.
2017-08-18 17:07:39 +03:00
Tim Nielens
7759bd6111
lint #1674 : replace struct name with Self
when applicable
2017-08-18 01:11:39 +02:00
Mateusz Mikula
0d244d3f39
Fix verbose_bit_mask off by one error
...
Fixes #1940
2017-08-14 16:22:20 +02:00
Oliver Schneider
4470d7a8ca
Merge branch 'master' into move_links
2017-08-14 10:07:26 +02:00
Oliver Schneider
d6fc34fd08
Update for rustc output changes
2017-08-14 09:54:47 +02:00
Oliver Schneider
459cf467c5
Rustup
2017-08-14 09:54:47 +02:00
Oliver Schneider
b25b6b3355
Rustfmt
2017-08-14 09:43:26 +02:00
Andre Bogus
f515d7bb67
Change all links to reflect the move to rust-lang-nursery
2017-08-06 23:10:55 +02:00
Andre Bogus
76ca4dca85
unify checks into single visitor, fix block walk
2017-08-04 07:48:43 +02:00
Andre Bogus
3b7f3dc8e7
WIP: Find binding or assignment within outer loop
2017-08-03 22:11:58 +02:00
Oliver Schneider
9b3ea4264f
Update to latest compiletest version
2017-08-02 18:07:05 +02:00
Oliver Schneider
74c776585c
Move all our tests back to ui tests
2017-08-01 17:54:21 +02:00
Oliver Schneider
3a61b452a2
Create a lint authoring helper (generates matching code)
2017-08-01 12:55:52 +02:00
Oliver Schneider
065974c8ae
Fix typo in previous commit
2017-07-27 13:37:21 +02:00
Oliver Schneider
34a3e9c157
Wrong placement of inner attribute in previous commit
2017-07-27 13:35:34 +02:00
Oliver Schneider
b4115fc245
Rustc doesn't generate expansion info for cfg!
2017-07-27 13:04:27 +02:00
Oliver Schneider
f889ba95d3
Fix ui tests
2017-07-21 10:40:23 +02:00
messense
b862b9b115
Update windows ui tests
2017-07-03 14:53:52 +08:00
messense
95f04f80fb
Update ui tests
2017-07-03 12:37:14 +08:00
Georg Brandl
6b6253016f
Update stderr files for change in error reporting
...
rustc now (https://github.com/rust-lang/rust/issues/33525 ) does not
report an error count anymore, because it was not correct in many cases.
2017-05-26 16:54:07 +02:00
Oliver Schneider
6982d66a59
Enable 64bit vs 32bit tests
2017-05-17 18:15:21 +02:00
Oliver Schneider
83ddce4a90
Use -Zremap-path-prefix to create system independent paths
2017-05-17 17:51:35 +02:00
Oliver Schneider
fdbc62dd4f
Use the workspace target directory
2017-05-17 15:21:57 +02:00
Oliver Schneider
4465bc3e3f
Make most tests an example
so we can run them one by one
2017-05-17 14:19:44 +02:00
Andre Bogus
e75d7ffd2d
distinguish debug_assert
2017-05-15 22:49:20 +02:00
mcarton
b6326121ab
Fix span in blacklisted_name
2017-05-14 14:58:16 +02:00
Oliver Schneider
4d5e25f31d
Update to rustc 1.19.0-nightly (826d8f385 2017-05-13)
...
fixes #1759 , #1758
2017-05-14 09:56:10 +02:00
Oliver Schneider
29cb2f7eba
Fix various wrong uses of NestedVisitorMap::All
2017-05-12 12:02:42 +02:00
Oliver Schneider
672045689e
Fix #1730
2017-05-11 19:02:19 +02:00
Oliver Schneider
8300f0c080
Merge pull request #1747 from Manishearth/mut_fp
...
Fixes #1735
2017-05-11 18:18:58 +02:00
Luis de Bethencourt
6f3679b8e4
clean tests/ui/zero_div_zero.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
b5a124bc27
clean tests/ui/while_loop.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
45949c0da9
clean tests/ui/vec.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
300a82c295
clean tests/ui/used_underscore_binding.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
fd3c001ec9
clean tests/ui/unused_io_amount.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
d0b932fb53
clean tests/ui/unsafe_removed_from_name.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
cf7303d217
clean tests/ui/unicode.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
81ee7f752e
clean tests/ui/transmute.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
24324f84d8
clean tests/ui/toplevel_ref_arg.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
80ca0484c7
clean tests/ui/swap.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
a7635aa1c8
clean tests/ui/strings.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
c79a350c55
clean tests/ui/short_circuit_statement.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
ffb768cf8d
clean tests/ui/serde.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
bf6d4b7129
clean tests/ui/regex.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
36ba4885ab
clean tests/ui/reference.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
7d2e0cb435
clean tests/ui/redundant_closure_call.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
169f35712c
clean tests/ui/print.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
ec343e1524
clean tests/ui/precedence.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
69139facb2
clean tests/ui/ok_if_let.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
c9190f681d
clean tests/ui/non_expressive.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
efbaf09308
clean tests/ui/no_effect.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
47c17e63e7
clean tests/ui/new_without_default.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
747a20153c
clean tests/ui/neg_multiply.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
cd55b87874
clean tests/ui/needless_return.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
b4a20aedf9
clean tests/ui/needless_bool.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
ac00b1d70b
clean tests/ui/mut_mut.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
9ece185c45
clean tests/ui/methods.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
409eea2b51
clean tests/ui/mem_forget.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
86d5ffae8a
clean tests/ui/matches.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
a5e66fa34b
clean tests/ui/literals.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
cf9370f670
clean tests/ui/lifetimes.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
2df0161973
clean tests/ui/let_if_seq.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
7b2766af4a
clean tests/ui/len_zero.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
3ca67910a8
clean tests/ui/if_let_redundant_pattern_matching.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
2389f9e94c
clean tests/ui/functions.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
df5d12a3ec
clean tests/ui/formatting.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
6d2329f2cb
clean tests/ui/for_loop.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
faca269488
clean tests/ui/float.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
bc9cdf1d64
clean tests/ui/eval_order_dependence.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
fbc6b26592
clean tests/ui/eta.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
8fc00c57b6
clean tests/ui/eq_op.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
5013f49195
clean tests/ui/entry.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
856d64d43e
clean tests/ui/doc.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
e3aa074033
clean tests/ui/derive.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
e2cce4809b
clean tests/ui/copies.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
5e45d09c4f
clean tests/ui/conf_french_blacklisted_name.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
aa3d361bec
clean tests/ui/collapsible_if.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
ed713d67d6
clean tests/ui/cmp_owned.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
17284bacee
clean tests/ui/cast.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
34e4c0f9e3
clean tests/ui/booleans.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
5865c2aacd
clean tests/ui/bool_comparison.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
cc923b5d0e
clean tests/ui/block_in_if_condition.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
0c9d9d9f6c
clean tests/ui/blacklisted_name.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
ac4ce0b2fe
clean tests/ui/assign_ops2
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Luis de Bethencourt
e18a250139
clean tests/ui/absurd-extreme-comparisons.rs
...
Cleaning the empty lines for clarity.
2017-05-11 16:22:32 +01:00
Oliver Schneider
81b35d197b
Fixes #1735
2017-05-11 16:32:06 +02:00
Oliver Schneider
fb6895836f
Address PR comments
2017-05-11 15:36:27 +02:00
Oliver Schneider
2cd3366817
Fixes #443
2017-05-10 13:42:19 +02:00
Oliver Schneider
3b3e47f451
Merge pull request #1738 from Manishearth/serde
...
Update serde to 1.0
2017-05-10 08:55:36 +02:00
Oliver Schneider
dee53fa1e2
Merge pull request #1728 from Manishearth/inspector
...
Print type adjustments in the inspector
2017-05-09 15:26:01 +02:00
Oliver Schneider
31b2bf4ab9
Update our config reading to serde 1.0
2017-05-09 15:23:38 +02:00
Oliver Schneider
8225c23a33
Update to serde 1.0
2017-05-09 15:23:10 +02:00
Luis de Bethencourt
f1434d2023
clean tests/ui/assign_ops.rs
...
When all //~ were removed from tests, these were replaced with empty
lines to leave the numbers in the expected stderr untouched.
Cleaning the empty lines for clarity.
2017-05-08 14:05:02 +01:00
Oliver Schneider
866239b1a8
Add a test showing a false positive on needless_borrow
2017-05-05 14:26:14 +02:00
Oliver Schneider
a6c8464dde
Update to rustc 1.19.0-nightly (6a5fc9eec 2017-05-02)
2017-05-03 12:51:47 +02:00
Oliver Schneider
e3084cc085
Fix #1698 (ICE regression in clippy's const eval)
2017-04-28 18:10:10 +02:00
Oliver Schneider
96b25cdaf2
Add regression tests for op_ref
2017-04-28 17:07:39 +02:00
Oliver Schneider
7aa42073f2
Fix op_ref false positives
2017-04-28 17:03:47 +02:00
Oliver Schneider
5381c4fcf6
Update ui tests to new rustc range printing
2017-04-25 10:57:44 +02:00
Oliver Schneider
68369e5d37
Merge remote-tracking branch 'origin/master' into yati_master
2017-04-25 10:31:40 +02:00
mcarton
b20a6a773c
Update tests to new format of multiline errors
2017-04-23 15:39:41 +02:00
Yati Sagade
cac15d24f9
needless_continue: Remove indentation of suggestion code.
...
As per a suggestion by Oliver on the PR thread, maintaining indentation
in the suggested code is futile because of the changes in the compiler
and the messiness of real-world code. rustfmt will do the indentation if
required, so we don't need to do it.
2017-04-13 21:48:52 +02:00
Oliver Schneider
5842463562
Run rustfmt
2017-04-12 11:06:32 +02:00
Oliver Schneider
3534149035
Update ui tests
2017-04-11 16:19:27 +02:00
Oliver Schneider
679e98530a
Merge remote-tracking branch 'origin/master' into yati
2017-04-11 16:16:10 +02:00
Oliver Schneider
21d8fbd082
Don't lint for lifetime bounds required by traits
2017-04-11 15:44:13 +02:00
Oliver Schneider
fae1e646ee
Remove useless warning
2017-04-11 14:34:39 +02:00
Oliver Schneider
2eae102cd1
Don't lint lifetimes after trait objects
2017-04-11 14:29:58 +02:00
Oliver Schneider
9a4c0a1c72
Don't lint about unused lifetimes if the lifetimes are used in the body of the function
2017-04-11 14:09:58 +02:00
Oliver Schneider
7b6111677a
Latest nightly produces more ellipses in output
2017-04-10 15:36:07 +02:00
Oliver Schneider
b76ce176bb
Fix op_ref in case of nonexisting operations
2017-04-10 15:10:19 +02:00
Yati Sagade
62548f447c
needless_continue: Add ui test
...
The test program contains both conditions tested by the lint, i.e.,
a redundant continue in the `if` and `else` blocks within a loop. Maybe
splitting them out and also having a program that should *not* trigger
the lint warning is better.
2017-04-09 14:20:14 +02:00
Yati Sagade
69928906f4
needless_continue: Add tests for helper functions to the needless_continue lint.
...
Creating a test file per function sounds a bit excessive, so just
clubbing all needless_continue specific function tests into this module.
2017-04-09 14:12:01 +02:00
Yati Sagade
a099748113
utils: Add tests for the align_blocks
helper in utils.
2017-04-09 14:09:54 +02:00
Oliver Schneider
f1e905f620
Reintroduce #768 so we can publish
2017-04-07 11:21:39 +02:00
Oliver Schneider
3052000c73
Merge pull request #1649 from ensch/master
...
Fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30)
2017-04-07 11:13:44 +02:00
Oliver Schneider
f32fab1c8f
panic!("{}") lint is broken
2017-04-06 16:49:03 +02:00
Oliver Schneider
6d921b4734
fix various rustup failures
2017-04-06 16:48:48 +02:00
Peter Gerber
71a788cbd7
correct error message for option_map_unwrap_or_else
lint
...
Remove erroneous "with " in suggested alternative call.
2017-04-01 15:54:27 +02:00
Enrico Schmitz
7c94a62048
Reenable mut_mut_macro.rs test
2017-04-01 00:25:23 +02:00
Enrico Schmitz
8f9fb97eb6
First try for a fix for rustc 1.18.0-nightly (5c94997b6 2017-03-30
2017-03-31 19:23:35 +02:00
Oliver Schneider
5547fbb770
Fix accidental newline in diagnostic and missing entries in lint_array!
2017-03-24 10:21:12 +01:00
Oliver Schneider
8ae82eb4ab
Merge remote-tracking branch 'origin/master' into 1537-drop_copy
2017-03-24 10:11:46 +01:00
sinkuu
a712271df6
Filter out proc_macro_derive functions ( fixes #1615 )
2017-03-21 17:09:21 +09:00
Enrico Schmitz
f8df4aed0f
Fix for rustc 1.17.0-nightly (6eb9960d3 2017-03-19)
2017-03-21 00:22:19 +01:00
Oliver Schneider
2d145b2ef5
don't lint macro_rules! in items_after_statements
2017-03-13 11:09:56 +01:00
Oliver Schneider
40d50fe8b2
Don't lint nan_cmp
and zero_ptr
in constants
2017-03-07 12:58:07 +01:00
Oliver Schneider
a33930f815
Fix single-match-else in the presence of macros expressions expanding to blocks
2017-03-03 16:56:16 +01:00
Oliver Schneider
26270c7451
Fix ice
2017-03-03 14:46:33 +01:00
Oliver Schneider
51295960bf
Fix invalid_upcast_comparisons lint for same size sign casts
2017-03-02 10:41:20 +01:00
Oliver Schneider
7bfa53f504
Almost there
2017-03-01 18:46:18 +01:00
Enrico Schmitz
d4050c275e
Remove old tests for ConstInt::Infer as it has been removed
2017-03-01 15:38:31 +01:00
Enrico Schmitz
887a3c184e
Make tests compile for rustc 1.17.0-nightly (be760566c 2017-02-28)
2017-03-01 14:33:17 +01:00
Tristian Celestin
75e28610a7
Merged drop_forget_ref.rs with drop_forget_copy.rs.
...
Moved constant message strings out of declare_lint! macros.
2017-02-26 21:57:47 -05:00
Tristian Celestin
aa037d1ef0
Merge branch 'master' into 1537-drop_copy
2017-02-25 23:11:21 -05:00
Tristian Celestin
b8defc6cc4
Warn on calls to std::mem::drop
or std::mem::forget
with a Copy
type
2017-02-25 23:05:37 -05:00
sinkuu
5906639af5
Enable len_zero
for slices
2017-02-25 12:26:33 +09:00
Oliver Schneider
19929790aa
Merge pull request #1561 from Manishearth/zero_ptr
...
New zero_ptr lint.
2017-02-22 13:34:28 +01:00
sinkuu
1e26c44010
Suggest assert_ne
for assert!(x != y)
2017-02-22 16:47:18 +09:00
Oliver Schneider
a7c049df28
Merge pull request #1564 from Manishearth/cleanup
...
Cleanup test suite
2017-02-21 15:30:39 +01:00
Oliver Schneider
d032b8967c
Merge pull request #1491 from Manishearth/into_iter_on_ref
...
fix explicit_into_iter_loop on references
2017-02-21 14:55:52 +01:00
Oliver Schneider
27aa309b3d
Merge pull request #1556 from sinkuu/take_by_value
...
Lint needless take-by-value
2017-02-21 13:07:25 +01:00
Oliver Schneider
25e230419c
Merge system independent ui-tests back into tests/ui
2017-02-21 12:19:55 +01:00
Oliver Schneider
f10128369b
fix ui-posix test paths
2017-02-21 12:16:57 +01:00
Oliver Schneider
f2ff5e2133
Update ui test output
2017-02-21 12:13:44 +01:00
Oliver Schneider
0996f8bb00
Fix more wrong windows ui test paths
2017-02-21 12:12:45 +01:00
Oliver Schneider
ff655a7dbc
Ui windows test paths are wrong
2017-02-21 12:12:08 +01:00
Oliver Schneider
21a0b16aee
adjust messages in tests
2017-02-21 12:04:29 +01:00
Oliver Schneider
0bea3e76d4
fix explicit_into_iter_loop on references
...
fixes #1398
2017-02-21 12:01:41 +01:00
Oliver Schneider
89d98a8732
Simplify calling update-all-references.sh
2017-02-21 11:18:05 +01:00
Oliver Schneider
3af04c7816
Cleanup test suite
2017-02-21 11:11:33 +01:00
sinkuu
cb86c57c5f
Integrate suggestion spans
2017-02-21 19:03:50 +09:00
sinkuu
3516d45d7c
Use multispan_sugg
2017-02-21 18:44:31 +09:00
Oliver Schneider
55ea08102a
Merge pull request #1543 from Manishearth/fix-windows-tests
...
fix windows tests
2017-02-21 10:34:49 +01:00
Oliver Schneider
f07f793fa8
Merge pull request #1544 from bood/master
...
Add lint for unnecessary casts (cast to same type)
2017-02-21 09:16:07 +01:00
Andre Bogus
2f7babba82
New zero_ptr lint.
...
This fixes #1047 . I did not bother to add a full suggestion,
because replacing with `std::ptr::null()` may still lead to
inference failures.
2017-02-21 04:36:59 +01:00
sinkuu
627d24c80f
Fix suggestion for let <pat>
2017-02-21 00:27:12 +09:00
sinkuu
f1b0b774e7
Support non-moving usages at match
...
This `match` is not moving the `String`:
```rust
fn foo(x: Option<String>) -> i32 {
match x {
Some(_) => 1,
None => 2,
}
}
```
With this change, it will be linted and suggested to add `*` to deref it.
```rust
fn foo(x: &Option<String>) -> i32 {
match *x {
Some(_) => 1,
None => 2,
}
}
```
2017-02-20 16:45:37 +09:00
sinkuu
0a6bc6031a
Rename lint to needless_take_by_value
...
And fixes false-positives for generics and `match`
2017-02-20 16:02:48 +09:00
Phil Ellison
d6a4d2cb18
Fix typo
2017-02-19 15:39:40 +00:00
Phil Ellison
0396756098
Add test that adding allow attribute on impl block containing len silences len_without_is_empty. Add extra impl block to PubOne to check that this doesn't get flagged@
2017-02-19 15:36:17 +00:00
Phil Ellison
2dd45b7317
Use span of impl/trait in len_without_is_empty error message, rather than the span of the len method
2017-02-19 15:14:30 +00:00
sinkuu
d81d961ba7
Lint needless take-by-value
2017-02-19 07:59:44 +09:00
Bood Qian
97d46232b4
Merge branch 'master' of github.com:Manishearth/rust-clippy
2017-02-18 11:12:13 +08:00
sinkuu
8cb2ec804d
Support generic type
2017-02-18 10:14:25 +09:00
sinkuu
6bb426b0e3
Add should_assert_eq
lint ( fixes #641 )
2017-02-18 10:13:56 +09:00
Andre Bogus
505eb53d29
New never loop lint
...
This lint detects loops that unconditionally break or return.
Closes #257
2017-02-17 04:53:14 +01:00
Ben Boeckel
84509ca48a
typos: coma -> comma
2017-02-16 11:23:28 -05:00
Bood Qian
2f00ea3a07
Suppress lint for unsuffixed number casts
2017-02-16 22:55:41 +08:00
Bood Qian
afce85e96d
Add lint for unnecessary casts (cast to same type)
2017-02-15 22:20:20 +08:00
Oliver Schneider
f158bec188
satisfy rustfmt
2017-02-15 08:36:44 +01:00
Andre Bogus
d904a01140
fix windows tests
...
Windows has a different error message than POSIX, so the ui tests fail for the clippy-config-fail tests.
This commit splits those tests up in target-os specific subdirectories and extends compile-test.rs to
run either of them based on the target os. Here's hope we'll get a green appveyor build.
2017-02-14 17:30:55 +01:00
Oliver Schneider
8b3ad61dd3
update ui tests
2017-02-13 11:57:14 +01:00
Oliver Schneider
2265babe6a
Merge remote-tracking branch 'origin/master' into clonedCollect
2017-02-13 11:40:02 +01:00
Oliver Schneider
637a4590f6
Merge remote-tracking branch 'origin/master'
2017-02-13 11:15:12 +01:00
Martin Carton
9a7597d5af
Merge pull request #1528 from Manishearth/mut-from-ref
...
New `mut_from_ref` lint
2017-02-12 16:01:15 +01:00
Andre Bogus
21d226e7d2
fixed multi-span test
2017-02-12 15:10:25 +01:00
Andre Bogus
36b8554cf1
add notes for immutable inputs
2017-02-12 13:53:30 +01:00
f001
b3570db094
update via comments
2017-02-12 20:40:38 +08:00
f001
98aa0db0ac
Add a lint for slice.iter().cloned().collect()
...
If one uses `slice.iter().cloned().collect()` to create a new `Vec`,
it should be `slice.to_owned()`.
Fix #1292
2017-02-12 17:03:09 +08:00
Bood Qian
64d2f8af8e
Lint on panic!
only
2017-02-11 21:42:42 +08:00
Bood Qian
a2d752807a
Lint on Err(_)
arm of a match
2017-02-11 14:57:50 +08:00
Owen Sanchez
2a8ce7c458
Update large_enum_variant test
2017-02-10 21:04:19 -07:00
Owen Sanchez
1938904fcd
Change large_enum_variant to lint against size differences rather than size
2017-02-10 18:12:32 -07:00
Andre Bogus
673ee4800d
fix test
2017-02-11 01:41:49 +01:00
Andre Bogus
bff4c30ac7
added test, fixed message & description, rustfmt
2017-02-11 00:32:12 +01:00
Andre Bogus
5650a599a8
New mut_from_ref lint
...
This fixes #1507 .
2017-02-10 19:39:03 +01:00
Oliver Schneider
1f2c97a291
remove all //~ from tests
2017-02-08 14:58:07 +01:00
Oliver Schneider
fd1351f6e3
rustup and compile-fail -> ui test move
2017-02-07 21:05:30 +01:00
Martin Carton
4ee839857b
Merge pull request #1506 from bood/master
...
Lint for possible missing comma in an array #1177
2017-02-07 18:56:38 +01:00
Owen Sanchez
7570af0557
Make tests pass
2017-02-04 22:59:39 -07:00
Owen Sanchez
49238ad1d2
Implement empty_enum lint and add a test
2017-02-04 21:52:44 -07:00
Oliver Schneider
d198b99472
fix false negatives introduced in the rustup
2017-02-04 16:59:06 +01:00
Bood Qian
cb83a299fa
Add test cases for possible missing comma lint
2017-02-04 20:02:53 +08:00
Bood Qian
33577ec3f7
Lint for possible missing comma in an array #1177
2017-02-03 19:10:30 +08:00
Martin Carton
b1be0d6457
Merge pull request #1492 from Manishearth/largeEnumVariant
...
large_enum_variants lint suggests to box variants above a configurable limit
2017-01-31 19:12:43 +01:00
Oliver Schneider
12eeffdf93
place the error checks on the correct lines
2017-01-31 16:00:28 +01:00
Oliver Schneider
19f119caec
fix println message in tests
2017-01-31 11:19:49 +01:00
Oliver Schneider
9bda699c80
improve messages and add suggestions
2017-01-31 08:36:39 +01:00
Oliver Schneider
d9ec55e695
address nits
2017-01-31 08:08:54 +01:00
Oliver Schneider
82dd50d0e2
large_enum_variants lint suggests to box variants above a configurable limit
2017-01-30 13:17:56 +01:00
Oliver Schneider
aebdf74e16
correctly check exclusive range patterns for overlap
2017-01-30 12:30:16 +01:00
Pascal Hertleif
2357dfe8ee
Remove useless part of test
2017-01-28 14:17:47 +01:00
Pascal Hertleif
6760b35e57
Increase suggestion tests' context
2017-01-28 14:12:35 +01:00
Pascal Hertleif
8cbf548f7e
Add suggestions to EXPLICIT_[INTO_]ITER_LOOP
...
Also reduces the highlighted span to the expr containing the
`.[into_]iter()` call (so the suggestion is probably applicable by
rustfix.)
Fixes #1484
2017-01-28 14:02:49 +01:00
Oliver Schneider
4a70a46d2d
run rustfmt
2017-01-26 11:31:26 +01:00
Oliver Schneider
26e8558d8a
remove rustc-serialize dependency and factor util::cargo
out into a crate
2017-01-26 11:31:26 +01:00
mcarton
b784f0d736
Use span_suggestion
in the precedence
lint
2017-01-22 15:00:10 +01:00
Oliver Schneider
7b836dd27c
become rustfmt resistant
2017-01-17 19:27:52 +01:00
Oliver Schneider
25100a8299
fix build
2017-01-17 19:23:32 +01:00
Andre Bogus
27d47f970a
rustfmt tests to fix build
2017-01-17 16:12:09 +01:00
Oliver Schneider
219da6d736
Merge pull request #1444 from Manishearth/or_else_method
...
Extend or_fun_call to also cover methods
2017-01-15 14:38:51 +01:00
sinkuu
cdfe002ee1
Use closure body span ( fixes #1405 )
2017-01-15 13:16:02 +09:00
Andre Bogus
b764b2a7aa
extend or_fun_call lint to cover methods
2017-01-15 00:31:20 +01:00
Andre Bogus
2fdb6e4d1a
deprecate extend_from_slice lint
2017-01-14 14:39:41 +01:00
Oliver Schneider
d944d7df9a
rustup to 2017-01-12
2017-01-13 17:04:56 +01:00
Oliver Schneider
3cc5596466
Merge pull request #1433 from sinkuu/ref
...
Don't lint needless_borrow when matching `&&mut` by `&ref`
2017-01-10 17:29:19 +01:00
sinkuu
c9091b71a1
Don't lint when matching &&mut
by &ref
( Fix #1432 )
2017-01-11 00:42:58 +09:00
Oliver Schneider
e066997046
FOR_KV_MAP can now lint on mutable maps due to values_mut()
2017-01-10 08:33:20 +01:00
sinkuu
a2bcce9dbf
Move is_try
to util
...
Removed unnecessary condition
Also changed lint span of `try` from surrounded expression to entire `try`
invocation. It turned out that compiletest misses errors for macro invocations.
2017-01-07 23:52:48 +09:00
sinkuu
ce6e037ac5
Implement unused_io_amount
lint
2017-01-07 22:23:33 +09:00
Theemathas Chirananthavat
3050d90930
Add forget_ref tests.
...
Also rename drop_ref.rs to drop_forget_ref.rs in tests/compile-fail.
2017-01-05 17:41:01 -08:00
Theemathas Chirananthavat
920a2b7468
The drop_ref test does not require implementing the Drop trait.
2017-01-05 17:41:01 -08:00
Oliver Schneider
f145fc44f8
Merge pull request #1414 from samueltardieu/no-short-circuit-if
...
Add a new "short_circuit_statement" lint (fixes #1194 )
2017-01-05 10:41:14 +01:00
Manish Goregaokar
9a301fd508
Bump to 0.0.106; Fix false positive in wrong_self_convention ( fix #1420 )
2017-01-04 18:05:04 -08:00
Samuel Tardieu
82b2f5663f
Add a new "short_circuit_statement" lint ( fixes #1194 )
2016-12-31 01:17:39 +01:00
Manish Goregaokar
b8b54eb0d8
Fix suggestion span on new_without_default ( fixes #1407 )
2016-12-29 11:19:32 -08:00
Theemathas Chirananthavat
c0c20145d1
Fix compile-fail tests by allowing double_parens.
2016-12-28 12:04:46 -08:00
Theemathas Chirananthavat
e7352877c5
Add test for double_parens lint.
2016-12-28 11:21:53 -08:00
Martin Carton
96d2483b09
Merge pull request #1400 from oli-obk/needed_needless_lifetime
...
support impl trait for needless lifetimes
2016-12-25 18:24:39 +01:00
Martin Carton
7c480d0db7
Merge pull request #1394 from Manishearth/absurd_extreme_comparisons_false_positive
...
fix absurd extreme comparisons false positive
2016-12-25 17:47:42 +01:00
Oliver Schneider
93333f0d7b
support impl trait for needless lifetimes
2016-12-22 15:51:59 +01:00
Oliver Schneider
2f219b827e
fix an ice related to associated types
...
fixes #1341
2016-12-22 14:16:07 +01:00
Oliver Schneider
0b10a41ef3
fix absurd extreme comparisons false positive
...
fixes #1387
2016-12-21 16:49:53 +01:00
Oliver Schneider
7a1d85f1de
Merge branch 'master' into allow_deprecated
2016-12-21 15:47:12 +01:00
Oliver Schneider
00a3bfb8eb
Don’t warn for types used in trait implementation
2016-12-21 15:42:20 +01:00
Oliver Schneider
90fc9c389f
split pub_enum_variant_names to new lint
2016-12-21 13:30:57 +01:00
Oliver Schneider
009c6d95d7
manually fix the overlong lines
2016-12-21 12:30:41 +01:00
Oliver Schneider
0a7ae5fec8
run rustfmt
2016-12-20 10:20:41 +01:00
Manish Goregaokar
d61c7fc747
Merge pull request #1355 from philipturnbull/deref-addrof
...
Lint usage of `*&` and `*&mut`
2016-12-19 03:35:45 -08:00
Oliver Schneider
5aded99033
don't lint on x = x + y inside an AddAssign impl
...
fixes #1302
2016-12-19 11:13:07 +01:00
Oliver Schneider
2e63a5648a
uncomment code that was commented out for testing
2016-12-04 19:31:46 +01:00
mcarton
65ff2df7e7
Fix copy lints
2016-12-02 22:23:24 +01:00
mcarton
fe15880beb
Revert "down to for-loops not comparing as equal"
...
This reverts commit cf1fa94be1
.
2016-12-02 20:54:05 +01:00
mcarton
42fb11f887
Don't set RUST_BACKTRACE for tests
...
It is slow but it can be useful and can be set/unset explicitly before
running tests if needed. There is no backtrace by default anyway.
2016-12-02 20:33:37 +01:00
Oliver Schneider
cf1fa94be1
down to for-loops not comparing as equal
2016-12-02 19:19:52 +01:00
Oliver Schneider
16aab71688
enum glob use
and copies
left
2016-12-02 17:38:31 +01:00
Wim Looman
919feaaec5
Allow allow(deprecated)
attribute on use
items
...
fixes #1372
2016-12-01 22:36:35 +01:00
Phil Turnbull
0ee6128e27
Convert DEREF_ADDROF to EarlyLintPass
2016-11-25 10:33:21 -05:00
Phil Turnbull
8d04038c56
Make deref_addrof suggestions stricter
...
SUGGESTION matches a substring so 'aref' in the testcases can match
'let b = *aref', 'let b = **aref', 'let b = *&aref' etc, which are
all wrong.
2016-11-25 10:33:01 -05:00
mcarton
c35f82b823
Rustup to *rustc 1.15.0-nightly (7b3eeea22 2016-11-21)*
2016-11-23 21:31:55 +01:00
Phil Turnbull
a9f5b90f0f
Lint usage of *&
and *&mut
...
fixes #1316
2016-11-22 21:06:20 -05:00
Martin Carton
530083c3b9
Merge pull request #1349 from philipturnbull/extend-chars
...
Lint `.extend(s.chars())` (closes #792 )
2016-11-22 18:21:30 +01:00
Phil Turnbull
e9f3911899
Suggest &s
instead of s.as_str()
2016-11-20 11:19:36 -05:00
sinkuu
5d40965b50
Fix #1346
2016-11-20 10:15:40 +09:00
sinkuu
1973e94550
Allow explicit returns with cfg attributes
2016-11-20 10:02:41 +09:00
Phil Turnbull
73a73638c0
Add lint for string.extend(string.chars())
...
fixes #792
2016-11-19 14:55:47 -05:00
Phil Turnbull
fa78b09fa7
Add lint for string.extend("str".chars())
...
fixes #792
2016-11-19 14:55:02 -05:00
mcarton
7140eac484
Cleanup
2016-11-18 13:40:44 +01:00
mcarton
945c027768
Handle closure with single expression blocks
2016-11-17 19:44:18 +01:00
mcarton
19c5f5394b
Rustup to rustc 1.15.0-nightly (0ed951993 2016-11-14)
2016-11-16 23:05:26 +01:00
Oliver 'ker' Schneider
cfae1e9fda
fix ice in len_zero
lint when type has no inherent impls at all
...
fixes #1336
2016-11-10 17:06:39 +01:00
Oliver Schneider
a260e65ead
Merge pull request #1312 from devonhollowood/get-unwrap
...
Implement `get_unwrap` lint
2016-11-09 09:49:20 +01:00
Oliver Schneider
a56af73fd8
mark cyclomatic complexity attribute as used
...
fixes #1315
2016-11-02 10:29:57 +01:00
Devon Hollowood
6a14dc7fd4
Remove false positives from get_unwrap
lint
...
HashMap and BTreeMap don't implement `IndexMut`, so we shouldn't lint
for use of `get_mut().unwrap()` for those types.
2016-11-01 17:48:32 -07:00
Devon Hollowood
4e0d182d1d
Clean up get_unwrap
code
2016-11-01 17:48:18 -07:00
Devon Hollowood
1187d333ec
Add tests for get_unwrap
lint
2016-11-01 01:08:47 -07:00
Sebastian Ullrich
8664d03ec6
implement 'Re-implementing PartialEq::ne
' lint
...
closes #86
2016-10-30 15:00:59 -04:00
d-dorazio
d213040381
Add lint for redundant pattern matching in iflet for Result/Option
2016-10-30 15:43:46 +01:00
Devon Hollowood
3a0d342a33
Fix false positive for wrong_self_convention
2016-10-27 01:11:34 -07:00
mcarton
984e15a0c0
Forbid default warnings in dogfood
2016-10-22 16:16:55 +02:00
d-dorazio
62831c6e29
Suggest nth(X)
instead of skip(X).next()
2016-10-14 13:38:00 +02:00
mcarton
8d0431fd9a
Test for #1275
...
Close #1275 .
2016-10-12 12:00:26 +02:00
d-dorazio
a4d4a372e0
Avoid redundant multiple pattern suggested when one pattern is _
2016-10-08 16:29:19 +02:00
mcarton
47c2271497
Fix FP with print_with_newline
and final arguments
2016-10-06 22:30:03 +02:00
Martin Carton
e851bc7404
Merge pull request #1257 from KitFreddura/master
...
If let some lint
2016-10-04 23:00:05 +02:00
Manish Goregaokar
7b94ef19bd
aux -> auxiliary (breaks Windows)
2016-10-04 09:15:03 +05:30
Manish Goregaokar
a4198c1108
Merge pull request #1255 from Manishearth/cov
...
Improve test coverage
2016-10-03 22:15:23 +05:30
mcarton
6800111c8e
Move all *.toml
test files to tests/aux
2016-10-03 17:49:41 +02:00
Kit Freddura
72a653d8d4
readded files
2016-10-02 13:49:29 -07:00
mcarton
7b92fe0387
Test configuration file typing errors
2016-10-02 14:46:46 +02:00
mcarton
019e310861
Add more tests for bad configuration file
2016-10-02 14:43:09 +02:00
mcarton
f6f4af6adc
Add missing tests for ...
and array indexing
2016-10-02 14:42:55 +02:00
mcarton
e50cfa7e77
Add a test for a shadow
corner case
2016-10-02 02:38:54 +02:00
mcarton
9a3f53dee6
Partially hash let
declaration in SpanlessHash
...
The hash never needs to be good but before it was simply doing nothing
for these.
2016-10-02 02:17:04 +02:00
mcarton
6302e41ccb
Improve test coverage of hir
comparison
2016-10-01 22:27:25 +02:00
Martin Carton
8babb2d409
Merge pull request #1250 from elliottneilclark/explicit_into_iter
...
Add a lint to warn about un-necessary .into_iter()
2016-10-01 15:01:43 +02:00
Oliver Schneider
9c5d3f3b85
correctly traverse match expressions for diverging_sub_expr
2016-10-01 14:41:20 +02:00
Elliott Clark
5fa004313b
Add a lint to warn about un-necessary .into_iter()
...
This should close #1094 .
2016-09-30 17:42:43 -07:00
mcarton
84269478b0
chmod -x tests/compile-fail/print_with_newline.rs
2016-10-01 00:50:40 +02:00
Martin Carton
fe27ac5fd2
Merge pull request #1237 from Manishearth/rustup
...
Rustup to *rustc 1.13.0-nightly (d0623cf7b 2016-09-26)* and bump to 0.0.91
2016-09-28 01:15:33 +02:00
mcarton
4f3920307a
Rustup to *rustc 1.13.0-nightly (d0623cf7b 2016-09-26)*
2016-09-28 01:09:11 +02:00
mcarton
056b0c1cf2
Remove redundant labels in tests
2016-09-23 19:51:47 +02:00
Manish Goregaokar
fc9f2b99c7
Merge pull request #1235 from Manishearth/transmute_ptr_to_ref-suggs
...
Fix wrong suggestion in `TRANSMUTE_PTR_TO_REF` with lts
2016-09-19 22:02:47 +05:30
mcarton
f74dcaac0c
Fix wrong suggestion in TRANSMUTE_PTR_TO_REF
with lts
2016-09-19 17:59:12 +02:00
Oliver Schneider
c89c5d21c1
Merge remote-tracking branch 'origin/master' into examples
2016-09-19 15:38:38 +02:00
mcarton
c8986b4676
Fix FP with WHILE_LET_ON_ITERATOR
and refutable pats
2016-09-16 15:50:35 +02:00
Martin Carton
dc84759ac5
Merge pull request #1224 from oli-obk/divergence
...
lint diverging expressions that are sub-expressions of others
2016-09-13 15:58:31 +02:00
Oliver Schneider
9427a4ae80
also test match statements, return, continue and break
2016-09-13 14:52:21 +02:00
Oliver Schneider
e6bfe4b514
also lint diverging methods
2016-09-13 12:41:37 +02:00
Oliver Schneider
a2257280ec
don't lint expressions referencing !
objects, just expressions creating them
2016-09-13 12:41:20 +02:00
Oliver Schneider
40ce3a8f1c
add tests for stutter lints
2016-09-13 10:20:10 +02:00
Oliver Schneider
12a82b2007
also lint private modules for module_inception, as that is the main issue
2016-09-13 10:19:55 +02:00
Oliver Schneider
f469860dc2
lint diverging expressions that are sub-expressions of others
2016-09-12 14:24:11 +02:00
Oliver Schneider
03fa974855
Let the submodule #[allow]
in module_inception
2016-09-12 10:30:42 +02:00
mcarton
8216036193
Add test for #[allow(module_inception)]
on the inner module
2016-09-12 10:11:48 +02:00
mcarton
b08c7aa553
Remove EOL space
2016-09-09 20:24:15 +02:00
mcarton
b82f43f38e
Revert "Remove all union
stuffs"
...
This reverts commit 888c34ad70
.
This rustups to rustc 1.13.0-nightly (70598e04f 2016-09-03).
2016-09-04 17:45:36 +02:00
mcarton
b2de244cfd
Restrict len_without_is_empty
to exported items
2016-09-02 15:30:06 +02:00
kennytm
5f09020e90
Added a lint_without_lint_pass lint.
...
Four lints were missing from LintPass, making them unavailable unless the
`clippy` lint group is explicitly enabled:
* `for_loop_over_result`
* `for_loop_over_option`
* `match_overlapping_arm`
* `filter_next`
2016-09-01 15:07:37 +08:00
mcarton
888c34ad70
Remove all union
stuffs
...
The rustc's PR wasn't merged. Hopefully this commit can simply be reverted when it's time.
2016-08-31 18:22:36 +02:00
mcarton
01424f5622
Support unions here and there
2016-08-31 18:22:36 +02:00
mcarton
ee3f3bf260
Remove temporary fix now unneeded
2016-08-31 18:22:36 +02:00
mcarton
d87f137254
Add a builtin_type_shadow
lint
2016-08-28 19:56:18 +02:00
mcarton
e922fa80ce
Fix FP in ZERO_PREFIXED_LITERAL
and 0b
/Oo
2016-08-28 18:00:09 +02:00
mcarton
36d8ca04a1
Add a MISSING_DOCS_IN_PRIVATE_ITEMS
lint
2016-08-23 18:28:39 +02:00
mcarton
507b626b36
Add zero_prefixed_literal
lint
2016-08-23 18:15:12 +02:00
llogiq
cf2b0c8dd6
New cmp_null lint ( fixes #1184 ) ( #1186 )
...
* new cmp_null lint (fixes #1184 )
* adressed comments (still fails)
* fixed tests, dogfood, ran update_lints
2016-08-22 18:29:29 +02:00
Oliver Schneider
6dd003ac39
add regression test
2016-08-19 17:31:14 +02:00
Oliver Schneider
7b717d3152
fallout
2016-08-17 18:35:25 +02:00
Oliver Schneider
3ab6ad59c4
disallow lint attributes on use
and extern crate
items
2016-08-17 11:36:04 +02:00
Georg Brandl
ffad9a8c8c
Lint print!("...\n") ( closes #455 )
2016-08-16 20:52:48 +02:00
Oliver Schneider
b6f320a495
address nits and improve docs
2016-08-16 14:36:48 +02:00
Oliver Schneider
7ee4a9a659
lint modules that have the same name as their parent module
2016-08-16 14:29:21 +02:00
scurest
b0a96def09
Add lint for reads and writes that depend on evaluation order
2016-08-11 06:01:40 -05:00
llogiq
ce3be22021
Merge pull request #1151 from oli-obk/clone_ref
...
add suggestions to clone_on_copy
2016-08-09 06:30:25 +02:00
llogiq
8ac99162ea
Merge pull request #1152 from oli-obk/wrong_self_conv_fn_level
...
enable changing wrong_self_convention's lint level at the function level
2016-08-08 21:13:16 +02:00
Manish Goregaokar
4b8f6a0b0f
Merge pull request #1154 from oli-obk/no_dogfood_for_travis
...
don't run clippy on itself twice in travis
2016-08-08 21:48:29 +05:30
Oliver Schneider
dec3250ad6
don't run clippy on itself twice in travis
2016-08-08 17:33:41 +02:00
Oliver Schneider
331afc3246
extern fns often need to adhere to a specific api -> don't suggest api-changes
2016-08-08 17:21:47 +02:00
Oliver Schneider
49f276ec6f
enable changing wrong_self_convention's lint level at the function level
2016-08-08 17:09:36 +02:00
Oliver Schneider
7e67f447ce
add suggestions to clone_on_copy
...
also:
* don't report clone_on_copy when reporting clone_on_double_ref
* don't suggest `((x))`
2016-08-08 16:43:45 +02:00
Manish Goregaokar
74c7880597
Merge pull request #1145 from birkenfeld/issue-703-2
...
Lint literal suffixes not separated by underscores (idea also from #703 )
2016-08-07 09:57:16 +05:30
Georg Brandl
fa0df69a97
Add a configurable threshold for enum variants before name lints trigger ( fixes #1138 )
2016-08-06 20:59:27 +02:00
Georg Brandl
2f8247ada5
Lint literal suffixes not separated by underscores (see #703 )
2016-08-05 18:50:23 +02:00
Georg Brandl
ab58331f22
Lint inconsistent casing in hex literals ( closes #703 )
2016-08-05 18:30:49 +02:00
Oliver Schneider
81c5757f44
lint on by ref patterns for references
2016-08-01 16:59:14 +02:00
Oliver Schneider
100d381d2b
lint a += a + b
(possible mis-refactoring of a = a + b
)
2016-07-20 15:29:24 +02:00
llogiq
a371558bdb
Merge pull request #1093 from oli-obk/serde_specific_lint
...
lint on implementing `visit_string` without also implementing `visit_str`
2016-07-18 11:53:28 +02:00
Oliver Schneider
02c46f057f
add an internal lint that catches misordered paths
2016-07-18 11:19:33 +02:00
Manish Goregaokar
b8c5e5a89c
Fix position of mut in toplevel-ref-arg ( fixes #1100 , again)
2016-07-15 19:02:41 +05:30
Manish Goregaokar
60f354880f
Suggest mutability and fix type in toplevel-ref-arg
2016-07-15 17:52:34 +05:30
llogiq
b1becf41e4
Merge pull request #1099 from Manishearth/fix
...
Some small fixes
2016-07-14 21:32:45 +02:00
mcarton
ea665c38f1
Fix FP with USELESS_VEC
and non-copy types
2016-07-14 19:31:17 +02:00
mcarton
c1eb5828fa
Fix suggestion spans for NEEDLESS_RETURN
2016-07-14 18:32:48 +02:00
Taylor Cramer
7450d842ea
Fix different NaNs in if const expressions test
2016-07-13 10:02:28 -07:00
Taylor Cramer
61d1a9b030
Check for comparison of -0.0 and 0.0 in PartialOrd for Constant
2016-07-13 09:55:16 -07:00
Taylor Cramer
0c21a6b0c4
Add test for different NaNs
2016-07-13 09:35:31 -07:00
Taylor Cramer
8907cbc0b8
Added sign check on Constant f64 PartialEq implementation
2016-07-13 00:43:33 -07:00
Oliver Schneider
319c66a2a4
lint on implementing visit_string
without also implementing visit_str
2016-07-12 17:36:11 +02:00
Manish Goregaokar
c1421c6e82
Don't warn when boxing large arrays
2016-07-12 18:49:34 +05:30
mcarton
b8b6b7fee6
Try to explain MATCH_SAME_ARMS
better
2016-07-10 14:46:39 +02:00
mcarton
eb75d4ee62
Fix suggestions for NEW_WITHOUT_DEFAULT
2016-07-10 14:20:38 +02:00
mcarton
3a7402a6d2
Fix FP with for
loops and shadowed loop variable
2016-07-10 14:05:57 +02:00
llogiq
ad1cd99054
Merge pull request #1060 from Manishearth/sugg
...
Improve suggestions
2016-07-10 00:06:30 +02:00
mcarton
56d3bc7008
Handle /**
and ~~~
in DOC_MARKDOWN
2016-07-08 18:24:47 +02:00
mcarton
c5e91e70d0
Use sugg::Sugg
in transmute links
2016-07-04 02:22:57 +02:00
mcarton
9b79b1022c
Fix suggestions for needless_bool
2016-07-04 01:43:47 +02:00
mcarton
7778f314f2
Merge branch 'master' into sugg
2016-07-04 00:51:19 +02:00
mcarton
2f259b8cd3
Use span_suggestion
in entry lints
2016-07-03 23:27:44 +02:00
mcarton
ffa840d4f2
Use utils::sugg
in match
related lints
...
Also don't build suggestion when unnecessary.
2016-07-03 23:27:37 +02:00
James Lucas
10b545e30b
Check for constant expression in useless_vec lint
2016-07-03 12:12:43 -07:00
mcarton
0e3dcd1376
Improve NOT_UNSAFE_PTR_ARG_DEREF
with functions
2016-07-03 13:29:04 +05:30
mcarton
7781f1d7c5
Add a new not_unsafe_ptr_arg_deref
lint
2016-07-03 13:28:34 +05:30
mcarton
2a45a2ab6b
Use utils::sugg
in FOR_KV_MAP
2016-07-01 20:55:45 +02:00
mcarton
f6c9490e65
Fix wrong suggestion with ...
and for loops
2016-07-01 19:31:14 +02:00
mcarton
9bd7fa05e0
Improve NEEDLESS_RANGE_LOOP
error reporting
2016-07-01 18:53:04 +02:00
mcarton
d6182b365c
Merge remote-tracking branch 'origin/rustup' into sugg
2016-07-01 17:48:57 +02:00
mcarton
55b78ae478
Rustup to ea0dc9297283daff6486807f43e190b4eb561412 II
2016-07-01 17:44:17 +02:00
mcarton
3c4af49662
Rustup to ea0dc9297283daff6486807f43e190b4eb561412
2016-07-01 17:44:17 +02:00
mcarton
ebf72cb67f
Use util::sugg
in TRANSMUTE_PTR_TO_REF
2016-07-01 17:12:48 +02:00
mcarton
7023988020
Use utils::sugg
in TOPLEVEL_REF_ARG
2016-07-01 17:12:48 +02:00
mcarton
7a1fc9fce5
Use utils::sugg
in MATCH_BOOL
2016-07-01 17:12:48 +02:00
mcarton
66808c1e77
Use utils::sugg
in COLLAPSIBLE_IF
2016-07-01 17:12:48 +02:00
mcarton
2e8edde6e9
Use utils::sugg
in FLOAT_CMP
2016-07-01 17:12:48 +02:00
mcarton
8d58a928e5
Use utils::sugg
in ASSIGN_OPS
2016-07-01 17:12:48 +02:00
mcarton
580ae5a879
Use span_suggestion
in FLOAT_CMP
2016-07-01 17:12:48 +02:00
Andre Bogus
a12e8394d7
new lint: double_neg
2016-06-30 01:00:25 +02:00
mcarton
9e76bcee5d
Improve matches
tests
2016-06-29 17:10:21 +02:00
mcarton
ea76ac5562
Make COLLAPSIBLE_IF
consider if let
2016-06-29 17:09:39 +02:00
mcarton
7fa38f6787
Fix FP with mut_mut
and for
loops
2016-06-29 17:09:39 +02:00
Oliver Schneider
9ceb708727
Merge pull request #1053 from oli-obk/char_float_transmute
...
lint on unnecessary and plain wrong transmutes
2016-06-28 14:50:39 +02:00
Oliver Schneider
e06bc37477
lint on unnecessary and plain wrong transmutes
2016-06-28 14:08:08 +02:00
Manish Goregaokar
cdce78a4be
Add parentheses when necessary in transmute suggestion ( fixes #1049 )
2016-06-28 14:03:46 +05:30
Oliver Schneider
a469ee1061
lint transmuting references to pointers
2016-06-27 16:12:48 +02:00
Oliver Schneider
60cc87baba
Merge pull request #1041 from oli-obk/procedural
...
don't depend on regex_macros anymore
2016-06-26 14:13:24 +02:00
Oliver 'ker' Schneider
2e86eb88f3
rename mini-macro to clippy-mini-macro-test
2016-06-26 13:26:30 +02:00
Oliver 'ker' Schneider
8c5e617c9a
don't lint on comparing *const f32
s
2016-06-25 18:59:37 +02:00
Oliver 'ker' Schneider
d57192d5c1
don't depend on regex_macros anymore
2016-06-25 18:12:29 +02:00
llogiq
f81d253c07
Merge pull request #995 from oli-obk/oh_the_horror
...
lint on `filter(x).map(y)`, `filter(x).flat_map(y)`, `filter_map(x).flat_map(y)`
2016-06-22 13:06:12 +02:00
Oliver Schneider
5ccbf3d437
unify the lints
2016-06-22 10:44:46 +02:00
Martin Carton
294aeaf4b3
Merge pull request #1012 from Manishearth/nohyg
...
Don't use identifier hygiene in HIR
2016-06-21 21:23:39 +02:00
Oliver Schneider
ac6e7b2957
fix tests
2016-06-21 14:46:02 +02:00
Oliver Schneider
eef439cb78
add tests
2016-06-21 13:48:56 +02:00
Oliver Schneider
44c30ca543
fix tests
2016-06-21 12:35:49 +02:00
Devon Hollowood
12bc90d457
Add tests for extend-iter-nth
2016-06-16 14:39:29 -07:00
llogiq
f3397afacb
Merge pull request #994 from oli-obk/stuttter
...
Stuttter lint
2016-06-16 19:00:43 +02:00
Martin Carton
4e8c87ad08
Merge pull request #1021 from Manishearth/issue1017
...
Fix FP with `WHILE_LET_LOOP` and break expressions
2016-06-16 16:30:44 +02:00
mcarton
836554387a
Fix FP with WHILE_LET_LOOP
and break expressions
2016-06-16 16:21:11 +02:00
Oliver Schneider
32894d503e
lint enum variants names that start or end with their enum's name
2016-06-16 12:17:15 +02:00
Devon Hollowood
74025be59d
Make iter_nth work for Vec
s too
2016-06-16 02:04:32 -07:00
Devon Hollowood
555e4555b1
Add tests for slice_iter_nth
2016-06-16 01:29:03 -07:00
mcarton
e6cbe970c8
Don't use identifier hygiene in HIR
2016-06-15 16:36:22 +02:00
mcarton
90453fd893
Run rustfmt
...
Only partially apply suggestions.
2016-06-10 00:08:14 +02:00
llogiq
e6832317fa
Merge pull request #999 from Manishearth/whitelist
...
Some small fixes
2016-06-10 00:04:50 +02:00
mcarton
e9360f7675
Fix suggestions for REVERSE_RANGE_LOOP
2016-06-09 23:34:19 +02:00
mcarton
ce2b96abe9
Fix yet another FP in USELESS_LET_IF_SEQ
...
The block expression before the assignment must be `None`.
2016-06-09 23:33:38 +02:00
mcarton
c5affa2efc
Whitelist Nan in DOC_MARKDOWN
2016-06-09 23:33:28 +02:00
Carol (Nichols || Goulding)
8e1dc0481c
Include consts
in the approx_consts lint for easier copypasting
...
If you try to use `f64::PI`, it won't work-- you need to use
`f64::consts::PI`, so suggest that in the lint message.
2016-06-08 19:58:29 -04:00
mcarton
1f419a2986
Add missing suggestions and help message to tests
2016-06-07 18:33:24 +02:00
mcarton
dd3fd41a03
Use span_suggestion
for WHILE_LET_ON_ITERATOR
2016-06-07 18:32:40 +02:00
mcarton
65c4e391ee
Fix wrong tests and improve some other
2016-06-07 17:32:36 +02:00
mcarton
a7a6c0461d
Add environment variable to deactivate wiki links
2016-06-05 22:03:02 +02:00
mcarton
158183adf5
Fix false-positive in USELESS_LET_IF_SEQ
2016-06-05 21:46:48 +02:00
mcarton
9f70d04000
Fix wrong suggestion with MANUAL_SWAP
and slices
2016-06-05 20:19:00 +02:00
llogiq
66c03f980e
Merge pull request #962 from Manishearth/fix-doc
...
Fix DOC_MARKDOWN and multiline links and quotes
2016-06-04 09:24:39 +02:00
mcarton
5c2a10d703
Correctly check for variable use in useless_let_if_seq
2016-06-03 19:35:39 +02:00
Manish Goregaokar
bf4ce86e9e
Make new_without_default ignore const fns; fixes #977
2016-06-03 20:17:39 +05:30
Andre Bogus
49982036fc
only lint new_without_default
for public items
...
This fixes #953 .
2016-06-01 23:35:14 +02:00
Andre Bogus
2811dd64ec
added missing PatKind::Path + tests
2016-05-31 23:35:42 +02:00
Andre Bogus
1b112f96b8
added mcarton's test suggestion
2016-05-31 23:30:49 +02:00
Andre Bogus
ef5db37d9d
additional error in copies test annotated
2016-05-31 23:30:49 +02:00
Oliver Schneider
80e81d351d
add version check to the unit tests
2016-05-30 12:47:04 +02:00
mcarton
42879bcdcb
Add a USELESS_LET_IF_SEQ
lint
2016-05-29 12:19:12 +02:00
mcarton
a892a96eeb
Rustup to *1.10.0-nightly (7bddce693 2016-05-27)*
2016-05-28 16:35:38 +02:00
mcarton
97c9930a3f
Fix doc_markdown
and multiline quotes and links
2016-05-28 03:22:55 +02:00
mcarton
ac0bb4126c
Improve markdown parsing for the doc lint
2016-05-28 02:08:01 +02:00
Oliver Schneider
bf227f4729
split clippy into lints, plugin and cargo-clippy
2016-05-27 13:03:58 +02:00
Oliver Schneider
5eca09793e
needless_borrow reported on &&T when only &T implements Trait and &Trait is required
2016-05-27 12:12:38 +02:00
llogiq
4c347320be
Merge pull request #955 from Manishearth/regexes
...
Regexes
2016-05-26 00:00:07 +02:00
mcarton
51d166f17a
Support RegexBuilder
2016-05-25 21:36:51 +02:00
mcarton
4f11f84dee
Lint binary regexes
2016-05-25 21:14:14 +02:00
Oliver Schneider
bb69e60b30
fix no_effect lint
2016-05-25 18:51:35 +02:00
Andre Bogus
9cfc42275d
Split new_without_default
and new_without_default_derive
.
...
This is still very slow, because we do a trait lookup for each field.
Perhaps storing the visited types in a set to reuse types would improve
performance somewhat. Also we may want to pre-decide some known types
(e.g. `Vec<T>`, `Option<T>`).
2016-05-24 18:22:18 +02:00
mcarton
ac2e175c1b
Rustup to *1.10.0-nightly (476fe6eef 2016-05-21)*
2016-05-23 16:36:10 +02:00
mcarton
6dd608e53e
Rustup to *1.10.0-nightly (764ef92ae 2016-05-19)*
2016-05-23 16:11:28 +02:00
mcarton
2a5416d662
Rustup to *1.10.0-nightly (9c6904ca1 2016-05-18)*
2016-05-23 16:11:19 +02:00
mcarton
ca05e93c10
Rustup to *1.10.0-nightly (cd6a40017 2016-05-16)*
2016-05-17 23:25:20 +02:00
Martin Carton
4c4b1af03c
Merge pull request #928 from oli-obk/unnecessary_operation
...
add a companion lint to `no_effect` with suggestions for partially (in-)effective statements
2016-05-13 17:45:58 +02:00
Oliver Schneider
1e897f1552
add a companion lint to no_effect
with suggestions for partially effective statements
2016-05-13 16:43:47 +02:00
llogiq
ecca55cd9f
Merge pull request #927 from oli-obk/german_windows_32bit
...
German windows 32bit
2016-05-13 15:41:49 +02:00
Oliver Schneider
d4e11acc1f
make sure compiletest works on windows
2016-05-13 14:16:08 +02:00
Oliver Schneider
c37300d899
ignore the portability test on 32 bit
...
it will fail in rustc
2016-05-13 13:45:53 +02:00
Oliver Schneider
86e4216a56
don't check for an exact error message
...
the system might change it, especially if the system language is changed
2016-05-13 13:45:25 +02:00
Andreas Fackler
87df6ae8cb
fix typos
2016-05-13 08:50:51 +03:00
Oliver Schneider
610883b7aa
don't suggest closures over constants
...
fixes #917
2016-05-12 10:23:06 +02:00
llogiq
8fa68f1e08
Merge pull request #913 from oli-obk/assign_ops
...
suggest `a op= b` over `a = a op b`
2016-05-11 23:36:10 +02:00
Oliver Schneider
0bef7b5f74
merge struct similar_name test into the general test file
2016-05-11 17:01:34 +02:00
Oliver Schneider
49e2570b77
don't lint at the use-site of bad struct field bindings if they're shorthand
...
fixes #899
2016-05-11 16:44:43 +02:00
Oliver Schneider
c6b4b19a43
suggest a op= b
over a = a op b
2016-05-11 15:32:20 +02:00
Oliver Schneider
654154d8e7
cargo clippy
subcommand
2016-05-09 16:47:32 +02:00
Oliver Schneider
87faaec7a3
add needless_borrow lint
2016-05-09 13:07:43 +02:00
Manish Goregaokar
d70e7bb5fc
Merge pull request #906 from Manishearth/birkenfeld-master
...
Rustup to *rustc 1.10.0-nightly (62e2b2fb7 2016-05-06)*
2016-05-07 21:31:21 -07:00
mcarton
aa10c93e8f
Fix tests
2016-05-08 01:13:05 +02:00
mcarton
3ce60e9731
Don’t warn in titles in DOC_MARKDOWN
2016-05-05 21:49:57 +02:00
mcarton
cc2774df60
Test previously reported false positive
2016-05-05 21:34:42 +02:00
mcarton
e14e1a7148
Fix issue with DOC_MARKDOWN
and punctuation
2016-05-05 21:33:46 +02:00
Oliver Schneider
365644e9e6
doc markdown lint's span shows the line instead of the item
2016-05-02 14:36:33 +02:00
Manish Goregaokar
f6290b622c
Merge branch 'pr-890'
2016-05-02 14:43:11 +05:30
Andre Bogus
0b40ae178a
fixed tests, added clippy_restrictions lint group
2016-04-30 23:54:10 +02:00
Andre Bogus
a967440186
lint remainder, document test w/ half expr
2016-04-30 17:11:59 +02:00
Andre Bogus
9a99979cc4
fix #887 : New lints for integer/floating-point arithmetic
2016-04-30 04:01:47 +02:00
mcarton
cf5c1ab0b6
Fix paths resolution
...
Put more paths into the `utils::paths` module.
2016-04-26 13:31:52 +02:00
Oliver 'ker' Schneider
bf4221c51a
cc: early returns are special
2016-04-23 14:30:05 +02:00
llogiq
30f7651271
Merge pull request #867 from Manishearth/#830
...
Check type for `SINGLE_CHAR_PATTERN`
2016-04-23 10:54:22 +02:00
Taylor Cramer
77427b6ead
Limited mem_forget error to only Drop types (fails)
2016-04-20 19:24:31 -07:00
Taylor Cramer
5158a08c5b
Changed std::mem::forget errors to mem::forget
2016-04-20 18:55:41 -07:00
Taylor Cramer
447940c889
Added lint for mem_forget
2016-04-20 13:10:23 -07:00
mcarton
de9a80cd10
Check type for SINGLE_CHAR_PATTERN
...
It’d be nicer to actually check for `Pattern` bounds but in the meantime
this needs to be fixed.
2016-04-20 21:16:59 +02:00
Taylor Cramer
84a480b02b
Expanded tests for unsafe_removed_from_name
2016-04-19 21:52:10 -07:00
Taylor Cramer
038f528f45
Added lint for use imports which remove unsafe from name
2016-04-19 16:31:26 -07:00
llogiq
0bc067089e
add neg_multiply lint ( #862 )
...
add neg_multiply lint
2016-04-17 23:33:21 +02:00
Georg Brandl
12b8a0ac14
Make if_not_else lint Allow by default ( fixes #859 )
2016-04-17 12:54:38 +02:00
mcarton
d6073eb54e
Fix regex tests
2016-04-14 22:07:14 +02:00
mcarton
1789430a49
Add a TEMPORARY_CSTRING_AS_PTR
lint
2016-04-14 17:26:07 +02:00
mcarton
831b8fc1b5
Ignore #[test]
fns in cyclomatic_complexity
2016-04-14 17:26:07 +02:00
mcarton
7ae8516bb3
Remove #[feature(deprecated)]
...
Fixes `warning: this feature is stable. attribute no longer needed`.
2016-04-13 16:07:45 +02:00
mcarton
fe6e8dac35
More tests in DOC_MARKDOWN
2016-04-13 16:02:44 +02:00
mcarton
6c0a486e8b
Fix FP with DOC_MARKDOWN
and reference links
2016-04-12 00:18:58 +02:00
mcarton
c24ba91123
Rustup to 1.9.0-nightly (bf5da36f1 2016-04-06)
2016-04-08 02:23:14 +02:00
mcarton
ee907b73a4
Fix false positive with DOC_MARKDOWN
and 32MiB
2016-04-04 20:25:21 +02:00
mcarton
eada860aa7
Small fixes in #802
2016-04-02 15:51:28 +02:00
Taylor Cramer
44ab23703a
Added tests for eq and neq invalid upcast comparisons
2016-04-02 15:32:57 +02:00
Taylor Cramer
cf451d3bba
Added > and >= tests for upcast comparisons
2016-04-02 15:32:57 +02:00
Taylor Cramer
106ae7da44
Invalid upcast comparison cleanup
2016-04-02 15:32:57 +02:00
Taylor Cramer
8687949a29
Tests passing for invalid_upcast_comparisons
2016-04-02 15:32:57 +02:00
Taylor Cramer
498e0fba7f
Initial attempt at linting invalid upcast comparisons
2016-04-02 15:32:36 +02:00
Manish Goregaokar
c150ae7824
Merge pull request #826 from Manishearth/patho-bool
...
Ignore pathological cases in boolean lint
2016-04-01 21:32:41 +05:30
Manish Goregaokar
a504ef488a
Add regression test for #825
2016-04-01 21:25:20 +05:30
mcarton
f8acc83449
Rustup to 1.9.0-nightly (e1195c24b 2016-03-31)
...
This does not require a version bump, it only affects tests.
2016-04-01 17:48:13 +02:00
mcarton
f16da4fdda
Fix false positive with DOC_MARKDOWN
and links
2016-04-01 17:24:55 +02:00
Oliver Schneider
73ee3e6f36
whitelist more non-expressive-name false positives
2016-03-31 17:35:00 +02:00
mcarton
9438f4f263
Rustup to 1.9.0-nightly (30a3849f2 2016-03-30)
2016-03-31 17:15:23 +02:00
mcarton
7095b5df31
Fix FP in REDUNDANT_CLOSURE
with divergent functions
2016-03-30 23:12:24 +02:00
Oliver Schneider
f03d93e05e
better whitelisting of "confusable" binding names
2016-03-30 17:05:15 +02:00
Oliver Schneider
d3362a2222
don't lint on binding names where only a numeric char changes to another numeric
2016-03-30 16:40:21 +02:00
Oliver Schneider
e9c87c777c
!(a == b)
--> a != b
2016-03-29 17:18:47 +02:00
Oliver Schneider
b05dd13f2c
added brackets and fixed compiler comments
2016-03-29 16:55:38 +02:00
Oliver Schneider
216edbae59
accidentally forgot about improvements if there were multiplie candidates
2016-03-29 16:27:06 +02:00
Oliver Schneider
be7288303a
more tests
2016-03-29 10:45:45 +02:00
Oliver Schneider
96be287f12
detect negations of terminals like a != b vs a == b
2016-03-29 10:45:45 +02:00
Oliver Schneider
3a0791e680
make sure a < b
and a >= b
are considered equal by SpanlessEq
2016-03-29 10:45:45 +02:00
Oliver Schneider
6904fd5a49
add tests showing the current level of minimization with ==
2016-03-29 10:45:45 +02:00
Oliver Schneider
dd6bee3b3f
collect stats on bool ops and negations in an expression
2016-03-29 10:45:45 +02:00
Oliver Schneider
37cee84c44
negations around expressions can make things simpler
2016-03-29 10:45:18 +02:00
Oliver Schneider
03833f666f
differentiate between logic bugs and optimizable expressions
2016-03-29 10:45:18 +02:00
Oliver Schneider
288ea79963
treat macros as terminals to prevent cfg!
from giving platform specific hints
2016-03-29 10:45:18 +02:00
Oliver Schneider
0a78a795ab
bugfix in quine-mc_cluskey 0.2.1
2016-03-29 10:45:18 +02:00
Oliver Schneider
050d7fd308
fallout and tests
2016-03-29 10:45:18 +02:00
Oliver Schneider
93d097eb12
better simplification
2016-03-29 10:45:18 +02:00
mcarton
0939f5a2ec
Fix false positive in MATCH_SAME_ARMS
and guards
2016-03-29 01:39:35 +02:00
mcarton
777e810a39
Add for _ in vec![…]
to the USELESS_VEC
lint
2016-03-28 23:32:55 +02:00
mcarton
371a5537eb
Address nits in DOC_MARKDOWN
2016-03-28 21:24:52 +02:00
mcarton
b1d1f095f1
Improve the DOC_MARKDOWN lint
...
`_` can be used for emphasize text. `::` is equality as bad outside
ticks.
2016-03-28 21:24:36 +02:00
mcarton
42bf37f49f
Add a lint for bad documentation formatting
2016-03-28 21:24:36 +02:00
mcarton
941ec6e4f5
Beautify more docs
2016-03-28 21:24:36 +02:00
mcarton
cfb1bc3723
chmod -x
test files
2016-03-28 21:24:36 +02:00
mcarton
7877a42308
Fix some spelling mistakes here and there
2016-03-28 21:24:36 +02:00
mcarton
2d5e3f3118
Lint transmute from ptr to ref
2016-03-28 18:05:43 +02:00
Manish Goregaokar
3d9a7d9140
Add test for new() -> Self<'static>
2016-03-27 02:46:37 +05:30
Taylor Cramer
6adb9cb53f
Added crosspointer transmute error and tests
2016-03-24 15:48:38 -07:00
mcarton
15e55f5df5
Deprecates 4 lints
...
Namely STR_TO_STRING, STRING_TO_STRING, UNSTABLE_AS_SLICE and
UNSTABLE_AS_MUT_SLICE.
2016-03-24 19:56:48 +01:00
Manish Goregaokar
523c596171
Merge pull request #727 from oli-obk/similar_names
...
lint on binding-names that are too similar
2016-03-21 10:35:36 +05:30
mcarton
ef72110684
Fix new_without_default
with lts and generics
2016-03-18 19:12:32 +01:00
Oliver Schneider
fa739e4a0b
update for compiletest update
2016-03-18 14:06:39 +01:00
Oliver Schneider
6a566a1009
use snippet_opt and span_suggestion
2016-03-18 14:06:39 +01:00
Oliver Schneider
9dc282e31d
improve needless_bool to catch odd construct in non_expressive_names
2016-03-18 14:06:39 +01:00
Oliver Schneider
24cdb14d5a
refactor for speed
2016-03-18 14:06:39 +01:00
Oliver Schneider
aa1ecb6fce
fix and rebase
2016-03-18 14:06:39 +01:00
Oliver Schneider
077481053c
refactoring and bugfix
2016-03-18 14:06:39 +01:00
Oliver Schneider
463897fd39
lint on too many single character bindings
2016-03-18 14:06:39 +01:00
Oliver Schneider
5373ffdeb8
suggest inserting underscores for simple cases
2016-03-18 14:06:39 +01:00
Oliver Schneider
06ca1fc0a6
lint on binding-names that are too similar
2016-03-18 14:06:39 +01:00
Oliver Schneider
64110f16dd
fix Eq
+Hash
for Constant
2016-03-17 12:23:54 +01:00
Oliver Schneider
432d9fec38
refactor clippy-consts to use ConstInt
2016-03-17 12:23:54 +01:00
Martin Carton
fe1ded0228
Merge pull request #773 from mcarton/rustup
...
Rustup to *1.9.0-nightly (c66d2380a 2016-03-15)*
2016-03-16 20:05:38 +01:00
mcarton
976d17785e
Temporary fix for rustc warning false-positive?
2016-03-16 19:28:24 +01:00
mcarton
8282a3a426
Fix problem in PANIC_PARAMS with inner format!
2016-03-15 21:05:37 +01:00
mcarton
251c3eefd1
Use span_suggestion
in STRING_LIT_AS_BYTES
2016-03-15 20:35:41 +01:00
mcarton
1546cc4798
Fix ICE in OUT_OF_BOUNDS_INDEXING
with ranges
2016-03-15 20:35:41 +01:00
Manish Goregaokar
6c7a2ffdb5
Rust upgrade to rustc 1.9.0-nightly (74b886ab1 2016-03-13), update compiletest
2016-03-15 20:36:21 +05:30
Oliver Schneider
d5a01e8789
prevent cc lint from panicking on unreachable code
2016-03-14 17:24:55 +01:00
Manish Goregaokar
eed9baa4fb
Merge pull request #698 from mcarton/conf
...
Add a configuration file and a POC `BLACKLISTED_NAME` lint
2016-03-13 19:33:03 +05:30
mcarton
0774b203f4
Fix false-positive in panic_params
...
It might still have false positives, but it’s even less likely.
2016-03-12 21:23:57 +01:00
mcarton
7eef989ff4
Add str
to types considered by len_zero
2016-03-12 21:23:56 +01:00
mcarton
aa4daea364
Lint function with too many arguments
2016-03-12 14:52:06 +01:00
mcarton
403c54ec5b
White-list third-party
in conf files
2016-03-12 14:51:47 +01:00
mcarton
a3031e34f9
Add a BLACKLISTED_NAME
lint
2016-03-12 14:51:45 +01:00
mcarton
29c0c2bb09
Start implementing a configuration file
2016-03-12 14:50:46 +01:00
mcarton
2f13c3bdef
Small nits on INDEXING_SLICING
2016-03-11 22:10:40 +01:00
Adolfo Ochagavía
87ef5f4d3b
Lint against indexing and slicing
...
This can be useful to prevent panics in a codebase. ATM it is a pedantic
lint, but in the future it should be added to the restricions group.
2016-03-11 21:30:35 +01:00
mcarton
c6316df19f
Rustup to 1.9.0-nightly (c9629d61c 2016-03-10)
2016-03-11 14:18:56 +01:00
mcarton
9cfc6124a3
Improve the MATCH_REF_PATS suggestions
2016-03-09 16:22:31 +01:00
Manish Goregaokar
d9b5b2a264
Merge pull request #730 from mcarton/unused-labels
...
Lint unused labels and types with `fn new() -> Self` and no `Default` impl
2016-03-09 11:26:44 +05:30
mcarton
052f5984e7
Fix types comparison
2016-03-08 17:00:44 +01:00
mcarton
d7129f560d
Lint types with fn new() -> Self
and no Default
impl
2016-03-08 17:00:37 +01:00
mcarton
204c12c99e
Lint unused labels
2016-03-08 16:43:40 +01:00
Oliver Schneider
bf20b40664
fix cyclomatic complexity lint triggering because of short circuit operations
2016-03-08 15:10:02 +01:00
llogiq
08b7931b6b
Merge pull request #741 from martiansideofthemoon/blastoise
...
Linting classical overflow checks
2016-03-08 09:50:00 +01:00
KALPESH KRISHNA
9faffd2870
Adding symmetric lints and test cases
2016-03-08 13:39:44 +05:30
mcarton
8bbd8b0b92
Fix ICE in for_loop with globals
2016-03-07 23:32:43 +01:00
KALPESH KRISHNA
d6d409414e
Adding underflow checks and tests
2016-03-08 02:57:45 +05:30
KALPESH KRISHNA
55fbf59f3b
Linting classical overflow checks.
2016-03-08 02:48:42 +05:30
mcarton
6ad2f645be
Put regex_macros tests in a separate feature
2016-03-07 19:39:49 +01:00
mcarton
3c3a4549a8
Fix tests with inclusive ranges
2016-03-07 16:55:12 +01:00
mcarton
7b135efa73
Remove bad test in for_loop
2016-03-07 16:42:49 +01:00
mcarton
13bb22a68b
Remove all ExprRange
...
Rustup to rustc 1.9.0-nightly (998a6720b 2016-03-07)
2016-03-07 16:31:38 +01:00
KALPESH KRISHNA
e421a0f8a3
Warn about calling a closure in the same expression where it's defined.
2016-03-05 22:41:52 +05:30
Oliver Schneider
3b7720f992
lint ! and != in if expressions with else branches
2016-02-29 12:34:48 +01:00
Oliver Schneider
67213c9be4
lint unportable clike enum discriminants
2016-02-29 09:36:13 +01:00
llogiq
105a14f547
Merge pull request #721 from mcarton/while_let_loop
...
Fix wrong suggestion in `WHILE_LET_LOOP`
2016-02-28 22:49:56 +01:00
mcarton
76004306cc
Lint manual swaps
2016-02-28 12:16:13 +01:00
mcarton
5fadfb3ea6
Fix wrong suggestion in WHILE_LET_LOOP
...
Ok, I lied in the title. This basically *removes* the problematic part
but:
1) it was ugly with big bodies;
2) it was not indented properly;
3) it wasn’t very smart (see #675 ).
2016-02-28 12:09:28 +01:00
mcarton
72ef26272d
Lint foo = bar; bar = foo
sequences
2016-02-28 00:02:43 +01:00
mcarton
1c3cce8ba5
Add a lint about suspiciously formatted else if
2016-02-27 18:18:53 +01:00
mcarton
810de56079
Add a lint about suspiciously formatted =@
ops
...
For `@` in {`*`, `!`, `-`}.
2016-02-27 17:57:36 +01:00
mcarton
62cbd87728
Fix false positive in FOR_KV_MAP
and &mut
refs
2016-02-26 12:51:26 +01:00
llogiq
b3ffc1868f
Merge pull request #689 from mcarton/entries
...
Improve the `MAP_ENTRY` lint
2016-02-26 12:18:34 +01:00
mcarton
783437eef0
Use span_suggestion
in loops lints
2016-02-24 20:54:35 +01:00
mcarton
c1b2fe31b7
Use span_suggestion
in len_zero
2016-02-24 20:52:47 +01:00
mcarton
3b783152cc
Fix ICE with match_def_path
2016-02-22 20:00:51 +01:00
mcarton
2a0fb1fb44
Limit USELESS_FORMAT
with args to string args
2016-02-22 17:54:46 +01:00
mcarton
ba3be83488
Lint about format!("{}", foo)
2016-02-20 21:15:05 +01:00
mcarton
ef4401d4ac
Lint about usage of format!("string literal")
2016-02-20 17:46:20 +01:00
mcarton
aa1df8e9ff
Improve the MAP_ENTRY
lint
...
Don’t span a suggestion when not appropriate but use a note and don’t
force it to be `if !cond`.
2016-02-18 20:19:16 +01:00
Oliver Schneider
add483afed
fix enum glob use (again)
2016-02-18 16:08:45 +01:00
Oliver Schneider
cf536d7a4f
fallout
2016-02-17 13:33:32 +01:00
Oliver Schneider
e809eb61d7
fix enum_variant_names linting on all caps enum variants
2016-02-17 13:33:32 +01:00
llogiq
59c8f6210b
Merge pull request #669 from shssoichiro/single-char-pattern
...
Lint single-character strings as P: Pattern args
2016-02-16 14:24:22 +01:00
mcarton
b5ba621f61
Make DERIVE_HASH_NOT_EQ symmetric
2016-02-16 00:15:11 +01:00
Manish Goregaokar
2641c4e126
Merge pull request #670 from Manishearth/better-ice-fix
...
Make derive lint handle generics correctly
2016-02-16 04:41:23 +05:30
Joshua Holmer
b1e4b496e1
Address @ilogiq's nits
2016-02-15 13:36:10 -05:00
mcarton
00b27bf7be
Fix suggestion in COLLAPSIBLE_IF
lint
2016-02-15 17:43:16 +01:00
mcarton
d755b1ebe2
Cleanup
2016-02-15 13:25:29 +01:00
Joshua Holmer
7eea67605a
Lint single-character strings as P: Pattern args
...
Fixes #650
2016-02-14 22:40:43 -05:00
mcarton
1b93d71645
Fix ICE in EXPL_IMPL_CLONE_ON_COPY
2016-02-14 20:31:23 +01:00
llogiq
6a624fe77c
Merge pull request #662 from mcarton/#601
...
Fix #601
2016-02-14 12:58:36 +01:00
llogiq
5521a75707
Merge pull request #654 from mcarton/new
...
Lints about `new` methods
2016-02-13 22:19:36 +01:00
mcarton
4562040d6b
Fix false positive in NEEDLESS_RANGE_LOOP
2016-02-13 22:09:17 +01:00
mcarton
49e2501c63
Fix false positive for ifs_same_cond
and cfg!
2016-02-13 15:36:57 +01:00
mcarton
e8c2aa2997
Lint about new
methods not returning Self
2016-02-13 13:03:28 +01:00
mcarton
edc0d19a3f
Add new
to WRONG_SELF_CONVENTION
2016-02-13 01:42:46 +01:00
mcarton
7f567ce1d1
Fix false negative with OK_EXPECT
2016-02-13 01:38:55 +01:00
mcarton
90f1f0d71c
Merge branch 'master' into copies2
2016-02-12 18:56:27 +01:00
Oliver 'ker' Schneider
3f34b65747
fix nightly breakage
2016-02-12 18:35:44 +01:00
mcarton
07228a1041
Fix Hash
implementation for Constant
2016-02-12 15:51:55 +01:00
mcarton
f309dc3c0f
Add the MATCH_SAME_ARMS lint
2016-02-12 14:30:52 +01:00
mcarton
cbbc667b1b
Dogfood for future MATCH_SAME_ARMS lint
2016-02-12 14:30:26 +01:00
mcarton
ee830ba55e
Extend IF_SAME_THEN_ELSE to ifs sequences
2016-02-12 14:30:26 +01:00
mcarton
88beb35194
Implement Expr spanless-hashing
2016-02-12 14:30:26 +01:00
llogiq
9ee462625b
Merge pull request #637 from mcarton/debug
...
Lint usage of `Debug`-based formatting
2016-02-12 12:18:15 +01:00
Oliver Schneider
eed9ec15fb
improve the no_effect
lint
2016-02-11 13:50:41 +01:00
Manish Goregaokar
1013026f18
Merge branch 'pr-645'
2016-02-10 10:20:23 +05:30
Joshua Holmer
7e06737d6f
Improve testing and suggestion messages on bool_comparison
2016-02-09 15:44:07 -05:00
mcarton
2db6965c81
Lint usage of Debug
-based formatting
2016-02-09 21:22:54 +01:00
mcarton
1a8b8cd28f
Don’t use {:?}
and use span_suggestion in TOPLEVEL_REF_ARG
2016-02-09 21:22:30 +01:00
mcarton
34812e82d0
Use const_eval in loops
2016-02-09 21:22:30 +01:00
Joshua Holmer
14292674b0
display suggestion separately from lint
2016-02-09 14:44:42 -05:00
Manish Goregaokar
93461afffc
Merge branch 'pr-613'
...
Conflicts:
src/lib.rs
src/types.rs
2016-02-10 01:03:26 +05:30
Joshua Holmer
56b3e7b4c2
lint comparison to bool (e.g. y == true
)
...
Addresses #630
2016-02-09 14:10:22 -05:00
llogiq
3b0b9e0e06
Merge remote-tracking branch 'origin/master' into regex_macro
2016-02-08 23:51:30 +01:00
llogiq
6525471214
fix #595
2016-02-08 23:48:04 +01:00
Oliver Schneider
672beb4138
prevent panic in enum glob import lint if a crate's elements are glob imported
...
fixes #639
2016-02-08 11:28:18 +01:00
llogiq
ceb9a8bdd7
regex macro lint
2016-02-07 22:50:54 +01:00
mcarton
cd7a913200
Add -
and /
to EQ_OP
2016-02-07 13:26:34 +01:00
mcarton
8e22d08129
Improve is_exp_equal
2016-02-07 13:26:34 +01:00
mcarton
d862495d19
Lint ifs with the same then and else blocks
2016-02-07 13:26:34 +01:00
mcarton
fe6f2a22ba
Lint about consecutive ifs with same condition
2016-02-07 13:26:34 +01:00
Manish Goregaokar
9ba5d45509
Merge branch 'pr-581'
...
Conflicts:
README.md
2016-02-07 17:40:48 +05:30
mcarton
d9a2a7ac3c
Fix false negative in TRIVIAL_REGEX
2016-02-06 18:13:19 +01:00
mcarton
a02b8124de
Lint about trivial regexes
2016-02-05 23:10:48 +01:00
mcarton
70124cf591
Fix case conventions
2016-02-05 21:54:29 +01:00
mcarton
0f50b0981d
Check for pattern use in FOR_KV_MAP
2016-02-05 19:14:02 +01:00
mcarton
431c446746
Lint looping on maps ignoring the keys or values
2016-02-05 19:13:14 +01:00
llogiq
2adc906a75
Merge branch 'master' into regex_syntax
2016-02-05 17:34:09 +01:00
llogiq
a14514f7c8
fixed span position and README
2016-02-05 17:29:41 +01:00
Manish Goregaokar
8f7b8524d3
Test for double-ref lint
2016-02-05 16:04:59 +05:30
llogiq
3d85cc24e7
new regex syntax lint, fixes #597
2016-02-05 00:36:06 +01:00
Oliver Schneider
3b8375d90b
warn on use
ing all variants of an enum
2016-02-03 15:38:23 +01:00
mcarton
fab10c07e8
Fix confusing message for STRING_TO_STRING
2016-02-03 13:52:19 +01:00
scurest
908fb143ef
Extend ABSURD_UNSIGNED_COMPARISONS to handle more types
2016-02-03 05:08:00 -06:00
Manish Goregaokar
5eb884b7b0
Merge branch 'pr-593'
...
Conflicts:
README.md
src/lib.rs
2016-02-03 03:26:51 +05:30
mcarton
db205c82a4
Add a lint about using clone
on Copy
types
2016-02-02 22:35:01 +01:00
inrustwetrust
bd86922c4f
Add lint to warn for calls to std::mem::drop
with a reference argument
2016-02-02 20:24:41 +01:00
llogiq
3a31576d76
fixed #606
2016-02-01 20:37:07 +01:00
llogiq
1dd19fbae3
Merge pull request #609 from oli-obk/prefixed_enum_variants
...
lint against enums where all variants share a prefix/postfix
2016-02-01 20:36:18 +01:00
Oliver Schneider
3b1df8d381
fallout
2016-02-01 13:01:16 +01:00
Seo Sanghyeon
35ec57c116
Skip escape analysis for closure arguments
2016-02-01 20:35:01 +09:00
Oliver 'ker' Schneider
d6c0435c81
lint on single match expressions with a value in the else path
2016-02-01 11:29:03 +01:00
llogiq
a2ad0c6695
fixed #528
2016-01-31 23:25:10 +01:00
scurest
e48fbba864
Add a lint to suggest uint == 0 over uint <= 0
2016-01-29 21:21:12 -06:00
llogiq
5402ef3d27
Merge branch 'devonhollowood-for-loop-over-option'
...
Conflicts:
README.md
2016-01-30 01:34:35 +01:00
Devon Hollowood
405d7c691e
Add for_loop_over_result lint
2016-01-29 15:24:17 -08:00
mcarton
1b9fbd8801
Fix false positive in NEEDLESS_LIFETIMES
2016-01-29 22:31:12 +01:00
mcarton
afb7e67217
Add a lint to warn about &vec![_] if &[_] would do
2016-01-29 17:41:52 +01:00
Devon Hollowood
f5cc94c96a
Add for_loop_over_option lint
2016-01-28 23:39:00 -08:00
Manish Goregaokar
4c14d98c9f
Merge pull request #549 from mcarton/ifs
...
Remove and lint about useless braces in `else { if .. }`
2016-01-29 03:39:27 +05:30
mcarton
da93643357
Add a lint to warn about use of print{,ln}!
2016-01-28 19:34:52 +01:00
llogiq
291b73b8e8
Merge master and re-run update_lints.py
2016-01-27 22:23:21 +01:00
Florian Hartwig
04f9d35f64
Add a lint for casts from char literals to u8
2016-01-27 20:23:59 +01:00
llogiq
a1ac3125de
fixed and extended tests
2016-01-27 20:13:15 +01:00
llogiq
5d5e50d67e
fixed suggestion for iter case
2016-01-27 14:51:30 +01:00
llogiq
d152e5c683
fixed argument check
2016-01-26 23:51:06 +01:00
llogiq
2d97f916eb
added more test, now works with vecs and iter
2016-01-25 19:46:56 +01:00
llogiq
ed96583677
extend_from_slice lint
2016-01-25 14:02:47 +01:00
mcarton
8ef0b86fab
Lint explicit Clone implementations on Copy type
2016-01-24 15:33:23 +01:00
Oliver 'ker' Schneider
2a51f8d2be
lint on items following statements
2016-01-24 10:16:56 +01:00
mcarton
c6c0edb19b
Add a lint about deriving Hash and implementing PartialEq
2016-01-21 19:56:31 +01:00
mcarton
91ff1db5bc
Add a lint for starts_with
2016-01-20 12:57:14 +01:00
mcarton
5ac6659814
Handle Entry types in OR_FUN_CALL lint
2016-01-20 11:42:25 +01:00
Florian Hartwig
01eda52cb5
Add lint for "string literal".as_bytes()
2016-01-19 19:17:50 +01:00
llogiq
5623e9e601
Merge pull request #559 from mcarton/redundant_closure
...
Fix redundant_closure false positive
2016-01-18 19:33:42 +01:00
mcarton
9d5e9cfd97
Fix redundant_closure false positive
2016-01-18 19:28:06 +01:00
mcarton
3713fd3dce
Check types in the CMP_OWNED lint
2016-01-18 15:35:50 +01:00
Manish Goregaokar
5ab5a8801e
Merge pull request #556 from mcarton/or_fun_call
...
New lint, new utility functions and nightly fix
2016-01-18 18:57:35 +05:30
mcarton
8642306f09
Add a test for the OR_FUN_CALL lint
2016-01-18 13:36:58 +01:00
mcarton
21ba315102
Update to rustc 1.7.0-nightly (d0bac3f14 2016-01-18)
2016-01-18 13:27:42 +01:00
mcarton
b5f65ec699
Improve OR_FUN_CALL to suggest unwrap_or_default
2016-01-18 13:11:07 +01:00
Florian Hartwig
7e85db645e
Fix another false positive in lifetime elision lint
...
The false positive occurred when we have an anonymous input lifetime and a
named output lifetime. This is not elidable, because if we elided the output
lifetime, it would be inferred to be the same as the input.
2016-01-17 17:53:41 +01:00
mcarton
c6604bb281
Add a lint to warn about call to .*or(foo(..))
2016-01-16 18:47:45 +01:00
llogiq
840d87022e
Merge pull request #523 from sanxiyn/escape-arg
...
Extend escape analysis to arguments
2016-01-16 00:03:58 +01:00
llogiq
da8a788b77
Merge pull request #551 from fhartwig/unused-lifetimes-fix
...
Consider lifetime in self parameter in unused_lifetime lint
2016-01-16 00:02:08 +01:00
mcarton
e6b905d925
Add a test for #398
2016-01-14 21:04:56 +01:00
mcarton
387e0991e3
Handle more iterator adapter cases in for loops
2016-01-14 20:58:32 +01:00
Florian Hartwig
7499f3c7a9
Consider lifetime in self paramter in unused_lifetime lint
2016-01-14 19:27:24 +01:00
mcarton
c2444c6043
Lint about else { if .. }
with useless braces
2016-01-13 18:32:55 +01:00
mcarton
6fa9bf64d7
Use span_suggestion in ENTRY lint
2016-01-13 17:27:49 +01:00
mcarton
09129c1b41
Add BTreeMap to the HASHMAP_ENTRY rule
...
Fixes #433
2016-01-13 17:27:36 +01:00
mcarton
9f641a1009
Add known enums to SINGLE_MATCH
2016-01-13 01:19:27 +01:00
llogiq
37707b5a34
added semver lint
2016-01-09 02:05:43 +01:00
mcarton
9945bd82a8
Add better error messages for HashMapLint
2016-01-03 17:19:49 +01:00
mcarton
d0bb71e6a2
Finish the HashMapLint
2016-01-03 17:04:08 +01:00
mcarton
0c6e385493
Implement a HashMapLint
2016-01-03 17:04:08 +01:00
Manish Goregaokar
4484448cd1
Merge branch 'pr-538'
...
Conflicts:
README.md
2016-01-03 21:26:04 +05:30
mcarton
bb59717915
Remove x rights on a test file
2016-01-03 14:49:59 +01:00
Guillaume Gomez
abfb1d3ca1
Add new lint on function naming check (the '_')
2016-01-03 14:48:54 +01:00
mcarton
52fbf1989d
Add missing WRONG_PUB_SELF_CONVENTION in lint_array! and corresponding test
2016-01-03 14:42:24 +01:00
Manish Goregaokar
e3ab0fb6e7
Merge pull request #537 from GuillaumeGomez/fields_test
...
Add test for wild fields
2016-01-03 03:55:57 +05:30
Guillaume Gomez
4b9912c2b0
Add test for wild fields
2016-01-02 23:21:59 +01:00
mcarton
542685dad1
Merge branch 'master' of https://github.com/Manishearth/rust-clippy into #471
2016-01-02 19:36:45 +01:00
Manish Goregaokar
d8d3ee907b
Add macro check for box vec ( fixes #529 )
2016-01-02 21:49:53 +05:30
Manish Goregaokar
a745efd566
Add smarter macro check for block_in_if ( fixes #528 )
2016-01-02 21:41:53 +05:30
Manish Goregaokar
1605ef6ed4
Rustup to syntax::errors changes
2016-01-02 16:10:15 +05:30
Devon Hollowood
093582c102
Make MethodsPass lint notes clearer
2015-12-30 01:07:40 -08:00
Devon Hollowood
a6bd2d0622
Add SEARCH_IS_SOME lint
2015-12-30 00:38:03 -08:00
Devon Hollowood
bbd439ec9e
Add FILTER_NEXT lint
2015-12-28 16:56:58 -08:00
Seo Sanghyeon
07830c44af
Extend escape analysis to arguments
2015-12-28 23:12:57 +09:00
mcarton
592ca26e90
Fix #518
2015-12-23 22:37:52 +01:00
mcarton
0fa8481ba3
Put tests in tests folder
2015-12-23 17:48:41 +01:00
mcarton
d01987a40b
Include error message in tests
2015-12-23 11:26:35 +01:00
mcarton
3373ea43c0
Consider literal patterns in MATCH_OVERLAPPING_ARM
2015-12-23 02:42:01 +01:00
mcarton
7216e83189
Implement #471
2015-12-23 02:42:01 +01:00
Florian Hartwig
e4fbeb4947
Don't trigger block_in_if_condition_expr lint if the block is unsafe
2015-12-23 02:12:08 +01:00
mcarton
3abdcd4709
Implement #364
2015-12-21 19:36:58 +01:00
Devon Hollowood
b6766a0dcf
Add RustcEncodable test
2015-12-21 01:40:19 -08:00
Devon Hollowood
b190aa7deb
Implement #507
...
Make `used_underscore_binding` lint compatible with MacroAttributes
expansions. TODO: Add a good test for this.
2015-12-21 01:03:12 -08:00
Manish Goregaokar
4a32445aa7
Add macro check to used_underscore
2015-12-20 04:53:29 +05:30
Manish Goregaokar
9dca15de3e
Merge pull request #499 from devonhollowood/underscore_binding
...
Add used_underscore_binding lint
2015-12-19 19:02:06 +05:30
Devon Hollowood
bd82c082cb
Add test for struct fields
2015-12-18 16:29:22 -08:00
Devon Hollowood
98d21f9fc5
Make compatible with unused_variables
lint
2015-12-18 16:04:33 -08:00
Devon Hollowood
c8d78a70b3
Test that we do not lint for multiple underscores
2015-12-18 13:47:12 -08:00
Devon Hollowood
3533d3a223
Add more tests
2015-12-18 00:57:09 -08:00
Manish Goregaokar
b900e88910
Merge pull request #494 from sanxiyn/suggestion-2
...
Use suggestion for needless_return
2015-12-17 22:17:32 +05:30
Devon Hollowood
e620a1d57c
Make suggested changes
2015-12-16 17:28:26 -08:00
Oliver Schneider
902c7d832b
fix cc computation in the presence of diverging calls
...
CFG treats diverging calls as its completely own path out of the function.
While this makes sense, it should also mean that a panic should increase the cyclomatic
complexity. Instead it decreases it.
Minimal example:
```rust
if a {
b
} else {
panic!("cake");
}
d
```
creates the following graph
```dot
digraph G {
"if a" -> "b"
"if a" -> "panic!(\"cake\")"
"b" -> c
}
```
which has a CC of 1 (3 - 4 + 2). A CC of 1 means there is one path through the program.
Obviously that is wrong. There are two paths. One returning normally, and one panicking.
2015-12-14 14:29:20 +01:00
Devon Hollowood
92fba6bd2c
Make clippy tests compatible with new lint
2015-12-12 21:39:10 -08:00
Devon Hollowood
6091112698
Update tests
2015-12-12 21:39:10 -08:00
Devon Hollowood
6482840bc5
Add tests
2015-12-12 21:39:10 -08:00
Seo Sanghyeon
974ab43453
Use suggestion for needless_return
2015-12-11 16:28:05 +09:00
Manish Goregaokar
b9546599e3
Check for unused lifetimes in bounds ( fixes #489 )
2015-12-10 12:02:59 -05:00
Manish Goregaokar
b865e30b49
Upgrade rust to rustc 1.6.0-nightly (462ec0576 2015-12-09)
2015-12-09 15:56:49 -05:00
Seo Sanghyeon
35b5c3efdd
Use suggestion for redundant_closure
2015-12-08 15:03:01 +09:00
Manish Goregaokar
c7b87a06d2
Add lint for unused lifetimes ( fixes #459 )
2015-12-07 06:55:14 -05:00
Manish Goregaokar
c4e9982dd7
Merge pull request #481 from fhartwig/lifetime-with-alias
...
Make unneeded_lifetimes lint work properly with type aliases
2015-12-06 09:08:40 +05:30
Florian Hartwig
62db392730
Make lifetimes lint work with type aliases and non-locally-defined structs
2015-12-06 02:04:13 +01:00
Robert Clipsham
978c41584f
Fix clippy with latest Rust nightly.
2015-12-05 12:33:58 +00:00
Manish Goregaokar
18e81c1b59
Rudimentary escape analysis for Box<T>
2015-12-04 20:23:14 +05:30
Oliver Schneider
3d1b7e1957
high-speed-dogfood
2015-12-03 16:41:55 +01:00
Oliver Schneider
617c820e6b
compute cyclomatic complexity (adjusted to not punish Rust's match
)
2015-12-03 16:41:55 +01:00
Manish Goregaokar
409c0f0998
Merge pull request #468 from devonhollowood/option-methods
...
Lint `map(f).unwrap_or(a)` and `map(f).unwrap_or_else(g)`
2015-11-26 14:22:27 +05:30
Devon Hollowood
443e4556c2
Add lints suggesting map_or() and map_or_else()
...
In accordance with the latter lint, replace map().unwrap_or_else() in
src/mut_mut.rs with map_or_else()
2015-11-25 23:56:45 -08:00
Florian Hartwig
94dc2f567a
Suppress explicit_counter_loop lint if loop variable is used after the loop
2015-11-26 00:09:01 +01:00
Seo Sanghyeon
746991572f
Extend match_ref_pats to desugared matches
2015-11-25 02:47:17 +09:00
Manish Goregaokar
84ad2be1df
Merge branch 'pr-462'
...
Conflicts:
README.md
2015-11-22 21:58:13 +05:30
John Quigley
d4cf288b38
Add block_in_if lint, #434
2015-11-22 21:52:06 +05:30
Florian Hartwig
096c064d43
Simplify has_debug_impl
2015-11-19 20:13:36 +01:00
Florian Hartwig
cad88a9137
warn on use of ok().expect()
2015-11-19 17:15:21 +01:00
Seo Sanghyeon
b17e38782e
Remove trailing commas in match arms with blocks
2015-11-17 13:39:42 +09:00
llogiq
1555eed5fb
Merge pull request #452 from fhartwig/lifetime-false-positives
...
Fix some false positive in needless_lifetimes lint
2015-11-14 09:25:19 +01:00
Andrew Paseltiner
91763d7725
Match min
and max
functions using DefId
...
Closes #446 .
2015-11-11 11:08:33 -05:00
Andrew Paseltiner
e8a239a1a2
Add lint for useless transmutes
...
Closes #441 .
2015-11-11 10:53:11 -05:00
Florian Hartwig
6046edbc23
Add some tests for lifetime elision lint with types and traits with lifetimes
2015-11-11 00:26:22 +01:00
Andre Bogus
42ae1e6918
use rustc's eval_const, bail on (negative) infinity
2015-11-10 11:23:47 +01:00
Andrew Paseltiner
2801c1031d
Remove executable permission from remaining source files
2015-11-09 08:04:41 -05:00
Manish Goregaokar
140c34f85e
Tests shouldn't be executable ( fixes #444 )
2015-11-09 08:49:20 +05:30
llogiq
a0cd8fc943
match .map(Clone::clone)
2015-11-05 17:11:41 +01:00
Seo Sanghyeon
3322ffa8a0
New lint for assignment to temporary
2015-11-04 21:37:18 +09:00
wartman4404
764eedd050
check for Deref conversions
2015-11-03 21:11:40 -06:00
wartman4404
414c0d20f7
New lint for using .cloned()
2015-11-03 21:01:52 -06:00
Nathan Weston
d28b8e169f
New lint for zip with array length instead of enumerate()
...
Fixes #11 .
2015-11-03 15:55:20 -05:00
Manish Goregaokar
dbb8a872a3
Fix ptr-arg false positive for trait impls
...
Fixes #425
2015-10-31 05:18:05 +05:30
llogiq
555328cc7b
Merge pull request #422 from sanxiyn/no-effect
...
New lint for statement with no effect
2015-10-29 12:05:28 +01:00
Seo Sanghyeon
0fe5981870
New lint for statement with no effect
2015-10-29 15:50:35 +09:00
wartman4404
8e4c2171d2
Don't show single_match if match_bool also applies
2015-10-28 22:26:48 -05:00
Florian Hartwig
5ca7ebb6d2
Fix false positives when iterator variable is used after the loop
2015-10-26 23:57:55 +01:00
Florian Hartwig
8626ac1fd4
Fixes for code review comments
...
* remove weird infinite loops from compile-tests
* remove call to Option::unwrap
* in the lint message, show while-let loop rewritten as for loop
2015-10-26 23:57:55 +01:00
Florian Hartwig
659e7c1d5e
Don't suggest using a for loop if the iterator is used in the loop body
...
Due to https://github.com/rust-lang/rust/issues/8372 , we have to use while-let
in these cases.
2015-10-26 23:57:55 +01:00
Florian Hartwig
f6163fce61
Suggest for loop instead of while-let when looping over iterators
2015-10-26 23:57:50 +01:00
Georg Brandl
a91c618fed
Fix reverse_range_loop not taking sign into account ( fixes #409 )
...
Adds a Display impl for Constant, because that might come in handy
elsewhere as well.
2015-10-26 08:05:01 +01:00
Kevin Yap
70e3277bf9
Compare float literals to stringified constants
...
- Convert constants to strings and compare directly with float literal.
- Return immediately after positive match for constant.
- Fix value of `my_log10_e` in `approx_const` tests.
2015-10-24 16:00:22 -07:00
Kevin Yap
546eb14b7e
Change implementation of approx_const lint
...
- Replace epsilon with lower and upper bounds for each constant.
- Warn on use of "3.14", and update tests accordingly.
2015-10-22 23:07:27 -07:00
Seo Sanghyeon
d843257643
New lint for struct update that has no effect
2015-10-22 18:19:06 +09:00
Andre Bogus
da82e2d3ba
added code snippet help to match_bool
2015-10-21 08:24:56 +02:00
Vikas Kumar
2951b70d15
Match on bool should be replaced with if..else block
...
1. Added another conditional in `check_expr` impl to lint if match expr
is a bool.
2. Test cases.
2015-10-20 10:18:48 -07:00
Florian Gilcher
8063916477
Cleanup as discussed in PR
2015-10-17 20:16:54 +02:00
Florian Gilcher
1bd023d3e0
New lint for needless use of nightly features
2015-10-15 21:33:47 +02:00
Manish Goregaokar
b2f4550654
Fix type complexity lint
2015-10-15 19:55:14 +05:30
Andre Bogus
be66322886
workaround for failing test
2015-10-15 16:18:40 +02:00
Andre Bogus
cf1e83b6dc
Merged #365
2015-10-14 12:22:57 +02:00
Andre Bogus
949c3545ce
Merged #366
2015-10-14 12:06:28 +02:00
Andre Bogus
b3d035d252
Merge PR #374
2015-10-14 11:44:09 +02:00
Andre Bogus
bed29a017b
new lint to detect
2015-10-13 18:38:08 +05:30
Manish Goregaokar
567d5a7293
Improve cmp_owned suggestions ( fixes #386 )
2015-10-13 04:16:05 +05:30
Ravi Shankar
fb5fdb61fa
whup the while_let_loop for ignoring expressions!
2015-10-12 19:12:59 +05:30
swgillespie
b02e80c012
implement 0.0/0.0 -> NaN lint as described in #370
...
casing of NaN
2015-10-11 19:26:23 -07:00
Manish Goregaokar
4e2b09831b
Rust upgrade to rustc 1.5.0-nightly (9d3e79ad3 2015-10-10)
2015-10-12 02:42:59 +05:30
Florian Hartwig
26b2733b15
Add a lint for sized integer types in a mutex
2015-10-07 22:58:34 +02:00
Pyriphlegethon
7644f8e2a1
Add "nonsensical OpenOptions" lint
2015-10-07 13:46:51 +02:00
Florian Hartwig
f8aa0431bd
Suggest using an atomic value instead of a Mutex where possible
2015-10-07 01:35:14 +02:00
Manish Goregaokar
3e475e9588
Merge pull request #354 from Pyriphlegethon/master
...
Add "unnecessary mut passed" lint
2015-10-07 04:18:02 +05:30
Manish Goregaokar
431c391818
Fix a panic caused by while let
2015-10-02 13:37:41 +05:30
Manish Goregaokar
7eb0896271
Merge pull request #351 from Wafflespeanut/while_let
...
Training the `while_let` detector...
2015-10-01 01:14:45 +05:30
Pyriphlegethon
390168cc0f
Well, fix them again
2015-09-30 18:17:55 +02:00
Pyriphlegethon
c5ab8d62e3
Fix tests
2015-09-30 18:00:14 +02:00
Manish Goregaokar
f76f4d52c2
Fix rustup fallout: lifetimes false positives
2015-09-30 20:10:54 +05:30
Pyriphlegethon
52aee99f6d
Add test for unnecessary mut passed lint
2015-09-30 13:28:23 +02:00
Ravi Shankar
185da55263
extending while_let to warn for more statements
2015-09-29 20:26:34 +05:30
Georg Brandl
e8f875813d
all: remove trailing spaces
2015-09-28 07:11:03 +02:00
llogiq
4838e8a3b4
Merge pull request #344 from Manishearth/reflet
...
Handle let ref in toplevel_ref_arg as well
2015-09-22 09:18:45 +02:00
Manish Goregaokar
3609a2211a
Handle let ref in toplevel_ref_arg as well
2015-09-22 12:46:51 +05:30
Georg Brandl
7cc291d02e
generalize let_and_return for any block ( closes #340 )
2015-09-20 13:57:31 +02:00
Manish Goregaokar
f4da7d09d2
Upgrade Rust to rustc 1.5.0-nightly (cff041170 2015-09-17)
...
LintPass was split and ExprParen was removed from the HIR
Fixes #338
2015-09-19 08:23:04 +05:30
llogiq
acc83c0b02
Merge pull request #336 from Manishearth/issue335
...
ref matches: false positive with only wildcard pattern match
2015-09-17 07:43:26 +02:00
Georg Brandl
e3ee87965e
ref matches: false positive with only wildcard pattern match ( fixes #335 )
2015-09-17 07:25:08 +02:00
Manish Goregaokar
3124d2b8df
Rustup to rustc 1.5.0-nightly (fc4d566b4 2015-09-16)
...
fixes #334
2015-09-17 05:32:29 +05:30
Nathan Weston
8a5b4f19fd
Check for mutable borrow of counter variable
2015-09-15 09:41:25 -04:00