Commit Graph

11255 Commits

Author SHA1 Message Date
mcarton
0c8de9ed52 Split MatchPass::check_expr for dogfood 2015-12-23 02:42:01 +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
Manish Goregaokar
dd16ac2ad7 Merge pull request #509 from mcarton/array-indexing
Implement #364
2015-12-22 10:22:06 +05:30
Manish Goregaokar
ea03c0d9e3 Merge pull request #514 from mcarton/remove-dup
Remove dup
2015-12-22 10:18:12 +05:30
Manish Goregaokar
5c090c3f48 Merge pull request #512 from untitaker/curse-you-hirvec
Nightly fixes
2015-12-22 10:00:41 +05:30
mcarton
934ead14b5 Fix typo 2015-12-22 00:51:15 +01:00
mcarton
0e4259a827 Remove duplicated if_let_chain! macro definition 2015-12-22 00:48:50 +01:00
Markus Unterwaditzer
acc47a3bd5 Nightly fixes
As of
e3da2a9003 (diff-12e06f1e9ca371a11bdc4615f50a4071L59)
HirVec is syntax::ptr::P instead of Vec.
2015-12-22 00:22:35 +01:00
Manish Goregaokar
851470639d Merge pull request #511 from mcarton/format
Fix some typos
2015-12-22 02:21:18 +05:30
mcarton
826827fe94 Fix some typos 2015-12-21 20:47:19 +01:00
mcarton
3abdcd4709 Implement #364 2015-12-21 19:36:58 +01:00
Manish Goregaokar
cd3c649adb Merge pull request #508 from devonhollowood/underscore_macros
Implement #507
2015-12-21 17:23:56 +05:30
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
a65a7770b3 Rust upgrade to rustc 1.7.0-nightly (8ad12c3e2 2015-12-19) 2015-12-19 19:08:22 +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
02cb24de82 Remove local variable check 2015-12-18 13:45:03 -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
Manish Goregaokar
d31f47496c Merge pull request #503 from sanxiyn/dogfood
Don't dogfood twice
2015-12-16 20:23:29 +05:30
Seo Sanghyeon
f3f5e3cb25 Don't dogfood twice 2015-12-16 23:13:01 +09:00
Manish Goregaokar
494fec7f6e Merge pull request #502 from Manishearth/contrib
Add short section on lint docs
2015-12-15 05:36:42 +05:30
llogiq
dc9a08fc78 Add short section on lint docs 2015-12-14 22:23:33 +01:00
llogiq
c645a9febe adding missing doc comments 2015-12-14 22:16:56 +01:00
llogiq
827082ac41 fix boxed_local example 2015-12-14 21:17:11 +01:00
Manish Goregaokar
8105260d6e Merge pull request #501 from oli-obk/fix/seme
fix cyclomatic complexity lint (fixes #491, fixes #478)
2015-12-14 22:23:42 +05:30
Oliver Schneider
cc1d696cb9 fix fallout from CC improvements 2015-12-14 14:30:09 +01: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
llogiq
c0bccc9567 more doc comments 2015-12-14 13:32:07 +01:00
Manish Goregaokar
dc3a3e79db Merge pull request #500 from oli-obk/patch-1
compiletest_rs needs to be at least 0.0.11
2015-12-14 17:51:25 +05:30
Oliver Schneider
ecb97866b6 compiletest_rs needs to be at least 0.0.11
otherwise tests using `SUGGESTION` will fail (see `compile-fail/eta.rs`)
2015-12-14 11:28:22 +01:00
llogiq
d7292fe235 more docs 2015-12-14 08:03:01 +01:00
Manish Goregaokar
f2b977907c Merge branch 'more_wiki' 2015-12-13 21:58:18 +05:30
Devon Hollowood
6960bf2ebc Make ExprField follow single-underscore rules 2015-12-12 21:59:25 -08:00
Devon Hollowood
b24e3aeea0 Add wiki docs, in line with #492 2015-12-12 21:56:05 -08:00
Devon Hollowood
92fba6bd2c Make clippy tests compatible with new lint 2015-12-12 21:39:10 -08:00
Devon Hollowood
aeb5a0e60c Reduce false positives
Add macro checking, and only lint for single leading underscores
2015-12-12 21:39:10 -08:00
Devon Hollowood
6091112698 Update tests 2015-12-12 21:39:10 -08:00
Devon Hollowood
43b96d59ad Run update_lints.py 2015-12-12 21:39:10 -08:00
Devon Hollowood
9de308ee15 Add used_underscore_binding lint 2015-12-12 21:39:10 -08:00
Devon Hollowood
6482840bc5 Add tests 2015-12-12 21:39:10 -08:00
Manish Goregaokar
4ae43b10f0 Add wiki note for escape analysis 2015-12-13 09:08:58 +05:30
Manish Goregaokar
76049a7cd0 Merge pull request #497 from cesarb/ringbuf
Mention VecDeque in linkedlist lint
2015-12-12 19:22:55 -05:00