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
Nathan Weston
f87dd31f30
New lint: loop with explicit counter variable ( fixes #159 )
...
Avoiding false positives here turns out to be fairly complicated.
2015-09-15 09:41:25 -04:00
llogiq
5c5d103405
added fp test against negative .step_by(_)
2015-09-15 09:12:58 +02:00
swgillespie
bc7d252856
use the constant folder to generalize the lint a little bit and clean up the code. Add additional tests for things that should not be linted
2015-09-14 22:20:56 -07:00
swgillespie
82c524b774
implement empty range lint as described in #330
2015-09-14 17:19:05 -07:00
llogiq
0e1bc74683
additional macro check + more tests
2015-09-10 08:51:14 +02:00
llogiq
4835372df5
made shadow_unrelated allow, added previous binding span note, fixed #319
2015-09-08 11:50:04 +02:00
Manish Goregaokar
0e658afc1b
Fix mut_mut false positive, make Allow ( fixes #309 )
2015-09-08 02:29:13 +05:30
Andre Bogus
b76ad366ab
fixed bad_bit_mask false positive
2015-09-06 16:09:35 +02:00
inrustwetrust
efd553c8a9
Don't show the explicit_iter_loop lint for arrays with more than 32 elements
...
The IntoIterator trait is currently not implemented for arrays with more than
32 elements, so for longer arrays, the iter() or iter_mut() methods must be
used.
2015-09-06 13:36:21 +02:00
llogiq
79bf820170
added test against const lookup
2015-09-05 16:24:41 +02:00
llogiq
cd91110ec0
new lint: min_max
2015-09-05 12:46:34 +02:00
Manish Goregaokar
fb148a50b2
Add false positive checks to unicode test
2015-09-04 16:27:53 +05:30
llogiq
e11fd49b1c
Unicode lints, second attempt: Lint whole strings, help with replacement
2015-09-04 16:18:46 +05:30
Manish Goregaokar
eca185438b
Update rust to 0efb9dab8c7c07fa28e9df0eccc5c07ea3c17fbb (HIR+lints, Thu Sep 3 18:59:56 2015 +0530)
...
fixes #294
2015-09-03 23:12:19 +05:30
Manish Goregaokar
73c34e12b3
Only handle ranges starting with 0 for needless_range_loop ( fixes #279 )
2015-09-02 16:11:54 +05:30
llogiq
0c7f05dd76
check item name for eq, fixes #268
2015-09-02 10:30:11 +02:00
llogiq
0fb7d1d2d9
reporting improvements
2015-09-02 08:19:47 +02:00
Georg Brandl
5264196538
methods: try to allow value self when type is Copy ( fixes #273 )
2015-09-01 21:08:49 +02:00
Georg Brandl
1007864198
new lint: self conventions for certain method names ( fixes #267 )
2015-09-01 18:52:48 +02:00
Georg Brandl
88dd38de87
lib: add clippy_pedantic group with all Allow by default lints ( fixes #265 )
2015-09-01 18:05:28 +02:00
Manish Goregaokar
d3da9f6c81
Merge branch 'pr-260'
...
Conflicts:
src/lib.rs
2015-08-31 15:06:53 +05:30
Georg Brandl
e33bef685e
lifetimes lint: walk type bounds as well as types ( fixes #253 , again)
2015-08-31 11:26:41 +02:00
Georg Brandl
0217fb81ee
loops: fix false positives with explicit_iter_loop and references ( fixes #261 )
2015-08-31 08:29:40 +02:00
Georg Brandl
03abe275b2
new lint: unnecessary patterns (x@_ -> x)
2015-08-30 19:02:30 +02:00
Tim Neumann
ef0c933550
add precedence_negative_literal lint
2015-08-30 17:34:48 +02:00
Georg Brandl
16df79a054
new lint: using collect() to just exhaust an iterator
...
Should use a for loop instead.
2015-08-30 13:10:59 +02:00
Georg Brandl
b72ef5a173
new lint: loop-match-break, which could be while-let ( fixes #118 )
2015-08-30 12:40:39 +02:00
Georg Brandl
6461fb3308
lifetimes lint: take "where" clauses into account ( fixes #253 )
...
If a where clause is present and has lifetimes mentioned, just bail out.
2015-08-30 09:58:26 +02:00
Manish Goregaokar
193e71be61
Merge branch 'pr-228'
...
Conflicts:
README.md
src/methods.rs
2015-08-27 11:09:40 +05:30
Georg Brandl
bb552dc96f
eta_reduction: fix false positive for unsafe fns ( fixes #243 )
2015-08-26 17:09:51 +02:00
llogiq
5e341715cd
Merge pull request #240 from Manishearth/shadow_scope
...
correct scoping for shadow lints
2015-08-25 23:56:57 +02:00
llogiq
51a211503d
correct scoping for shadow lints
2015-08-25 23:48:22 +02:00
Manish Goregaokar
c9b849bdc8
Merge pull request #237 from birkenfeld/iter_fix
...
loops: use a whitelist for the "x.iter() -> &x" lint (fixes #236 )
2015-08-26 03:16:49 +05:30
Manish Goregaokar
6df102cdab
Merge pull request #238 from birkenfeld/to_string_fix
...
methods: suggest correct replacement for `to_string()` (fixes #232 )
2015-08-26 02:43:19 +05:30
llogiq
56cdd58ad2
Merge branch 'master' of https://github.com/Manishearth/rust-clippy into shadow
2015-08-25 20:09:50 +02:00
Georg Brandl
6fa34cca29
methods: suggest correct replacement for to_string()
( fixes #232 )
2015-08-25 18:39:21 +02:00
Georg Brandl
ffed5b0b23
loops: use a whitelist for the "x.iter() -> &x" lint ( fixes #236 )
2015-08-25 18:28:05 +02:00
llogiq
5225feceaa
shadowing detection
2015-08-25 13:40:26 +02:00
Georg Brandl
64cd1fc6ba
eq_op: cut back to expressions that are guaranteed side effect free
...
fixes #229
2015-08-25 12:34:37 +02:00
Georg Brandl
56e8db476c
new lint: inherent methods that should be trait impls ( fixes #218 )
2015-08-25 11:10:42 +02:00
llogiq
209e6981a3
shadowing detection
2015-08-24 16:59:02 +02:00
R.Chavignat
e80f2470b7
Merge branch 'master' into cast_iusize_improvements
2015-08-23 00:08:16 +02:00
R.Chavignat
79ef13592e
Completed the implementation of *size handling.
...
Added some more cases to the test, and implemented a new lint,
cast_possible_wrap, triggered when casting from an unsigned type to a
signed type of the same size.
2015-08-22 23:49:03 +02:00
R.Chavignat
807dab943b
Updated test case for cast lints.
...
Also improved readability and reworded the messages.
2015-08-22 22:06:58 +02:00
Georg Brandl
7580da306e
matches: special message for this case
...
match &e { &Pat1 => {}, &Pat2 => {}, ... }
(inspired by dogfood fixes)
2015-08-22 14:34:39 +02:00
Georg Brandl
017dac2301
new lint: using &Ref patterns instead of matching on *expr ( fixes #187 )
2015-08-22 14:34:39 +02:00
Georg Brandl
630bb76f96
new lint: type complexity ( fixes #93 )
...
Still very naive, but it's a start.
2015-08-22 08:57:11 +02:00
R.Chavignat
f1255d5f5d
Casts : work in progress handling *size separately
2015-08-22 02:46:22 +02:00
Georg Brandl
707e95f2e5
types: use middle::ty types instead of ast types
...
This gets rid of the match_ty_unwrap function.
2015-08-21 19:21:19 +02:00
Georg Brandl
b2df15d65a
ptr_arg improvements ( fixes #214 )
...
* do not trigger on mutable references
* use "real" type from ty, not AST type
2015-08-21 19:21:18 +02:00
llogiq
6ffe1ed337
Merge pull request #212 from Manishearth/eq_op_const
...
Eq op const
2015-08-21 12:30:53 +02:00
llogiq
a22b3cdcee
const folding for eq_op
2015-08-21 12:26:03 +02:00
R.Chavignat
ad0bc66402
Added support for isize/usize in the CastPass lint pass.
...
Extracted the match that determines an integer types's size in a
utility function and implemented support for usize/isize.
Added a needed feature to the crate root.
Added some tests to cover those cases, and a test I previously forgot.
Silenced two errors signaled by dogfood.sh in unicode.rs.
2015-08-21 03:03:37 +02:00
R.Chavignat
dbc9b7f46e
Reworked the error messages for more heplfulness.
...
Renamed the cast_possible_overflow lint to cast_possible_truncation,
and updated the error message, readme and crate root accordingly.
Added some more information to the message for the cast_precision_loss
lint.
Updated the test case to reflect changes.
2015-08-20 22:44:40 +02:00
R.Chavignat
993239d33a
Initial implementation of lossy cast lints.
...
Introduces 3 lints :
cast_possible_overflow
cast_precision_loss
cast_sign_loss
Add a compile-test test case.
Fix errors spotted by dogfood script.
2015-08-20 01:04:06 +02:00
llogiq
150840667e
Merge pull request #204 from Manishearth/bit-mask
...
Extend and correct the ineffective_bit_mask check
2015-08-19 13:25:43 +02:00
llogiq
973d5e5c6b
Mul and Div for integers
2015-08-19 11:58:59 +02:00
llogiq
98d24b5b56
fixed #203 and #197
2015-08-19 09:39:03 +02:00
Georg Brandl
8f4499f3ae
new lint: comparing unit types ( fixes #201 )
2015-08-19 08:11:00 +02:00
Georg Brandl
7f52239cab
consts: convert to using a struct with state
...
Struct has the context reference (as an Option) and the
needed_resolution flag.
2015-08-17 19:58:21 +02:00
llogiq
a2ee637be6
added test and fixed negativity check in Partial{Eq, Ord} impl
2015-08-17 16:24:57 +02:00
llogiq
9f134f8e95
added PartialEq/PartialOrd to ConstantVariant, used to implement comparing binops
2015-08-17 13:18:14 +02:00
llogiq
0e67c0134f
make float_cmp check for zero
2015-08-17 12:08:45 +02:00
llogiq
e354fdc3e8
added regression test for #189
2015-08-17 12:08:45 +02:00
llogiq
fb715ce45d
fix 189, fixed a few warnings, ==/!= for consts, refactored consts test
2015-08-17 12:08:45 +02:00
Manish Goregaokar
4f1fcd4d5b
Merge pull request #184 from Manishearth/identity_op
...
Identity op now uses const folding, no longer follows const bindings
2015-08-17 14:35:45 +05:30
Georg Brandl
e9a41e2374
new lint: lint when iterating over any Iterator::next() result ( fixes #182 )
2015-08-17 07:28:40 +02:00
llogiq
759b45a46d
made is_negative(..) public (+doctest), fixed identity_op and precedence
2015-08-16 23:09:56 +02:00
llogiq
c4b07ead17
Merge pull request #179 from nweston/step-by-zero
...
New lint: Range::step_by(0) (fixes #95 )
2015-08-16 20:12:52 +02:00
Nathan Weston
23a38c4170
New lint: Range::step_by(0) ( fixes #95 )
...
Uses type information so it can detect non-literal ranges as well
(Range or RangeFrom -- the other range types don't have step_by).
2015-08-16 12:58:54 -04:00
llogiq
e1438e7010
copied over cmp_owned fix from master
2015-08-16 16:13:44 +02:00
llogiq
03c7d7074d
With working test now
2015-08-16 15:56:09 +02:00
Manish Goregaokar
164907ece2
restrict toplevel_ref_arg to only functions ( fixes #170 )
2015-08-16 17:24:03 +05:30
Manish Goregaokar
f494f14aa6
Merge pull request #177 from birkenfeld/if_let_mini_fix
...
misc: fix check for unit body in "match -> if let" lint (fixes #172 )
2015-08-15 14:12:34 +05:30
Georg Brandl
542bf8d50e
misc: fix check for unit body in "match -> if let" lint ( fixes #172 )
2015-08-15 09:56:15 +02:00
Georg Brandl
b299433de3
lifetimes: fix case with one unnamed and one static ref ( fixes #171 )
2015-08-15 09:36:07 +02:00
llogiq
f23af0cfd5
changed const to consts to avoid keyword, added test, fixed a lot of bugs
2015-08-14 17:14:54 +02:00
llogiq
5d99ebec72
fixed false positives (at the cost of some false negatives)
2015-08-14 14:37:12 +02:00
llogiq
ffda91a8c7
removed String::from_str(..) to fix build with 1.4.0-nightly/2015-08-14
2015-08-14 14:26:57 +02:00
llogiq
dece5a6cb5
added empty line test
2015-08-13 23:18:34 +05:30
llogiq
f4b5d21533
added a few unit tests to trim_multiline
2015-08-13 23:18:34 +05:30
Manish Goregaokar
847070e19d
Merge pull request #151 from birkenfeld/needless_bool_msg
...
spelling fix, rework needless_bool with snippet (fixes #150 )
2015-08-13 23:17:18 +05:30
Manish Goregaokar
3cf5c36296
Address review comments, move to travis
2015-08-13 21:45:50 +05:30
Georg Brandl
49e51fe65a
lifetimes: try to fix w.r.t. lifetimes from parent scopes ( fixes #162 )
2015-08-13 21:45:42 +05:30
Georg Brandl
9578403638
new lint: looping over x.iter() or x.iter_mut() ( fixes #157 )
2015-08-13 16:31:16 +02:00
Georg Brandl
8a98736f51
spelling fix, rework needless_bool with snippet ( fixes #150 )
2015-08-13 15:31:16 +02:00
Andre Bogus
f67175b4cd
fixed error messages in compile-fail test
2015-08-13 11:38:39 +02:00
llogiq
f9e851e212
pulled strings passes together, added more tests
2015-08-13 11:36:39 +02:00
llogiq
0b08e9e83e
added string_add lint and fixed string_add_assign + test
2015-08-13 11:36:39 +02:00
Manish Goregaokar
8dfa02938d
Merge branch 'pr-149'
2015-08-13 13:00:29 +05:30
Manish Goregaokar
510ea0c5e5
Merge branch 'pr-140'
...
Conflicts:
src/lib.rs
2015-08-13 12:52:14 +05:30
Georg Brandl
7aee04878f
tests: use fragment of lint text for error checking
...
(Did not touch strings.rs, which is fixed by @llogiq's PR)
2015-08-13 08:12:07 +02:00
Georg Brandl
5952a29543
lifetimes test: use explicit message prefix
2015-08-13 07:51:24 +02:00
Georg Brandl
2f7693094f
lifetimes lint: include support for lifetimes as generic params
2015-08-13 06:43:25 +02:00
Georg Brandl
b349f9e88d
new lint for needless lifetimes ( fixes #115 )
2015-08-13 06:35:40 +02:00
Georg Brandl
f6090909d3
new lint: using for i in 0..x { .. vec[i] .. }
instead of iterator ( fixes #3 )
2015-08-13 06:34:08 +02:00
Georg Brandl
3044d3d633
unicode: add lint against non-ascii chars in literals (Allow by default), #85
2015-08-12 20:36:35 +02:00
Manish Goregaokar
c58f803511
Merge branch 'pr-138'
...
Conflicts:
src/lib.rs
2015-08-12 21:22:01 +05:30
Georg Brandl
4074c1f968
methods: lint against String.to_string ( fixes #100 )
2015-08-12 17:03:13 +02:00
Georg Brandl
e8fed074cf
new lint: warn if let-binding has unit value ( fixes #74 )
2015-08-12 13:21:07 +02:00
Georg Brandl
b831bd1d1d
len_zero: display full suggested expr in message
2015-08-12 10:53:14 +02:00
Georg Brandl
bcd95aec1c
all: make style of lint messages consistent
...
* start first sentence lowercased
* use backticks to delimit code snippets
* use "this is wrong. Consider doing X." consistently
2015-08-12 10:47:09 +02:00
Georg Brandl
f6dc48fe3a
new lint for "let x = EXPR; x" at the end of functions ( fixes #104 )
2015-08-11 22:25:47 +02:00
Georg Brandl
2bcc151888
new lint for Option.unwrap() and Result.unwrap()
...
The latter is set to Allow by default (fixes #24 )
2015-08-11 21:19:11 +02:00
Manish Goregaokar
6bc69fa342
Merge pull request #127 from birkenfeld/better-helptext-if-let
...
better help text for "match -> if let" lint
2015-08-12 00:44:51 +05:30
Georg Brandl
e318328d63
all: whitespace cleanup
...
* 4-space indentation
* no trailing whitespace
* no tabs
2015-08-11 20:22:50 +02:00
Manish Goregaokar
2cb26126d3
Merge branch 'pr-78'
...
Conflicts:
src/lib.rs
2015-08-11 23:28:06 +05:30
Georg Brandl
cab9905705
better help text for "match -> if let" lint
...
Implements the suggestion from #87 .
Changes span_help_and_lint(), which is only used for this lint,
to use fileline_help() instead of span_help() to avoid printing
the span twice.
Also adds complete suggested new code. I had to distinguish
between blocks, which need no additionals braces, and other exprs.
2015-08-11 19:26:51 +02:00
Georg Brandl
0ff476b529
new lint for unneeded return stmts
2015-08-11 19:05:11 +02:00
llogiq
f0eb36c2af
added parent method, also changed match-if-let note to help
2015-08-11 15:07:21 +02:00
llogiq
b393752814
New string_add_assign lint (first part of #121 ), also formatting & refactoring
2015-08-05 15:10:45 +02:00
llogiq
0e5b62c8d8
also included String::from in cmp_owned and fixed deprecation in test
2015-06-11 16:53:23 +02:00
llogiq
23caf3cccc
first unicode lint: zero_width_space
2015-06-11 11:35:00 +02:00
llogiq
1f74c4b359
removed false positives from inline_always (issue #84 )
2015-06-07 12:03:56 +02:00
llogiq
8563ee60ec
fixed issue #88 in bit_mask
2015-06-06 02:27:48 +02:00
llogiq
b44435ef28
extended compile-test.rs to actually observe TESTNAME environment variable and filter tests if available
2015-06-06 02:07:48 +02:00
llogiq
1ee2e4ffe8
Fixed block check, also added macro test to collapsible_if and inline_always
2015-06-01 15:09:17 +02:00
llogiq
7f5891184d
merged upstream master
2015-06-01 13:55:55 +02:00
llogiq
cdca2c93c1
now the method lookup actually works (and I understand why! 😄 ), reduces unnecessary loops, and has a few comments
2015-06-01 12:49:36 +02:00
llogiq
4c76465154
Merge pull request #68 from Manishearth/macro_expn
...
macro expn detection in mut_mut.rs
2015-06-01 07:44:27 +02:00
llogiq
21cd0c7e70
check for is_empty() method to get rid of false positives
2015-06-01 07:40:33 +02:00
Matthew Hall
423a9666ca
Implements #45 - any number mod 1 will be 0
2015-05-31 13:43:31 +01:00
llogiq
77838d6ba7
New lint for issue
...
#72
2015-05-30 15:10:19 +02:00
Matthew Hall
7e16822925
Add lint for ifs that could be collapsed
...
"Collapsible" ifs are ones which contain only a then block, and the then
block consists of an if that only has a then block.
2015-05-29 15:41:25 +01:00
llogiq
cd2e621c60
made in_macro distinguish intra-crate and extra-crate macros, as the latter have no working source (note: may fail in the face of compiler plugins doing whatever they like with spans), also one more run-pass test
2015-05-26 13:52:40 +02:00
llogiq
0d651c72ff
made macro test even simpler, added a few tests
2015-05-26 01:45:15 +02:00
llogiq
4292dc77a7
new lint: cmp_owned
2015-05-21 14:51:43 +02:00
llogiq
483a546e74
added messages to test error comments
2015-05-20 09:34:02 +02:00
llogiq
e8ca3c6eae
new lints len_zero and len_without_is_empty
2015-05-20 08:52:19 +02:00
llogiq
1f8453ab73
mut_mut now more robust (thanks to Manishearth, see issue #9 )
2015-05-18 10:41:15 +02:00
llogiq
96bfade4f1
New lint: mut_mut (closes issue #9 )
2015-05-18 09:02:24 +02:00
llogiq
edf747ab76
new lint: identity_op, refactored bit_masks a bit
2015-05-15 18:46:43 +02:00
llogiq
6bec4f35df
Added 'ineffective bit mask' lint
2015-05-15 14:09:29 +02:00
Manish Goregaokar
2447e1d5be
Add eta reduction ( fixes #29 )
2015-05-10 11:49:08 +05:30
Manish Goregaokar
068e215728
move to compiletest on crates
2015-05-09 15:19:12 +05:30
llogiq
b24433f36d
added test for issue #31
2015-05-08 06:01:41 +02:00
llogiq
17bcf0e865
New lint: precedence, see issue #41
2015-05-06 12:59:08 +02:00
llogiq
ac151bb1f0
Added new 'float_cmp' lint (see issue #46 )
2015-05-06 10:01:49 +02:00
llogiq
0936e0617a
new lint to check for doomed comparisons to NAN
2015-05-04 14:11:15 +02:00
llogiq
2cb84b9d15
New lint: approx_const
2015-05-04 12:01:34 +02:00
llogiq
8d2328d9a5
Added &String matching and renamed to vec_ptr_arg to ptr_arg, also added README section
2015-05-04 08:15:24 +02:00
llogiq
07adeee6e9
Added check for zero bitmask and uncommon directions, wrong comment in needless_bool corrected, added new lint vec_ptr_arg + test
2015-05-04 07:20:34 +02:00
llogiq
53fa76dff9
new lint: needless_bool (TODO: The warnings could give more specific directions)
2015-05-02 00:35:49 +02:00
llogiq
3a9bf24bb3
Added constant lookup (with help from Manish) to bad_bit_mask
2015-04-30 15:17:06 +02:00
llogiq
441b55b328
Added eq_op and bad_bit_mask from the extra_lints project (mostly plain copy, need to refactor to integrate better)
2015-04-30 11:48:43 +02:00
Manish Goregaokar
a5c3102594
Use compiletest
2015-04-14 00:20:44 +05:30