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
Georg Brandl
e3ee87965e
ref matches: false positive with only wildcard pattern match ( fixes #335 )
2015-09-17 07:25:08 +02:00
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