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
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
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
Cesar Eduardo Barros
8e59be318c
Mention VecDeque in linkedlist lint
...
I couldn't find anything named RingBuf in the standard library. Some
search revealed that it had been renamed to VecDeque before the first
stable Rust release.
2015-12-12 20:05:06 -02:00
Manish Goregaokar
6aa656a910
Merge pull request #492 from Manishearth/wiki
...
added wiki comments + wiki-generating python script
2015-12-11 09:20:19 -05:00
llogiq
5bbc1427fd
added wiki comments + wiki-generating python script
2015-12-11 01:22:27 +01:00
llogiq
3e7677ff31
Merge pull request #490 from Manishearth/fx-lifetime-fp
...
Check for unused lifetimes in bounds (fixes #489 )
2015-12-10 18:14:24 +01: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
llogiq
2fbe762a99
Merge pull request #485 from sanxiyn/suggestion
...
Use suggestion for redundant_closure
2015-12-08 23:18:25 +01:00
Seo Sanghyeon
213c15cd66
Add span_lint_and_then and use it
2015-12-09 02:46:14 +09:00
Seo Sanghyeon
35b5c3efdd
Use suggestion for redundant_closure
2015-12-08 15:03:01 +09:00
Andre Bogus
98c4dc185c
updated lints
2015-12-08 06:32:55 +01:00
llogiq
3260b501a2
Merge pull request #483 from Manishearth/bored
...
Add lint for unused lifetimes (fixes #459 )
2015-12-07 21:47:10 +01:00
Manish Goregaokar
e8686a3ecd
Merge branch 'pr-482'
2015-12-07 07:23:52 -05:00
Guillaume Gomez
72117836f1
Add check on redundant _ bindings in structs
2015-12-07 13:16:59 +01: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
ac39dc290b
Remove obsolete workaround
2015-12-06 02:05:32 +01:00
Florian Hartwig
62db392730
Make lifetimes lint work with type aliases and non-locally-defined structs
2015-12-06 02:04:13 +01:00
Manish Goregaokar
b660bfa09e
Merge pull request #480 from mrmonday/nightly-fixes
...
Fix clippy with latest Rust nightly.
2015-12-05 18:54:42 +05:30
Robert Clipsham
978c41584f
Fix clippy with latest Rust nightly.
2015-12-05 12:33:58 +00:00
Manish Goregaokar
dc414e6c02
Make panic in CC silencable (partial #478 )
2015-12-05 14:23:00 +05:30
llogiq
5827240e17
Merge pull request #477 from Manishearth/escape
...
Rudimentary escape analysis for Box<T>
2015-12-04 19:29:13 +01:00
Manish Goregaokar
18e81c1b59
Rudimentary escape analysis for Box<T>
2015-12-04 20:23:14 +05:30
llogiq
e90acaf596
Merge pull request #460 from oli-obk/cyclomatic_complexity
...
Cyclomatic complexity
2015-12-03 16:52:53 +01:00
Oliver Schneider
04524c549e
improve cc of function
2015-12-03 16:41:55 +01:00
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
llogiq
41bad83360
Merge pull request #475 from sanxiyn/unused-qualification
...
Remove unused qualifications
2015-12-02 15:38:19 +01:00
Seo Sanghyeon
26f539eaa3
Remove unused qualifications
2015-12-02 23:25:12 +09:00
Manish Goregaokar
b45745e905
bump 27
2015-11-30 23:17:14 +05:30
Manish Goregaokar
ba59ed05e3
Rust upgrade to rustc 1.6.0-nightly ( 52d95e644
2015-11-30)
2015-11-30 23:16:28 +05:30
Manish Goregaokar
2ce2bc3345
Bump to 26
2015-11-30 15:52:17 +05:30
Manish Goregaokar
f34e919e60
Merge branch 'pr-474'
2015-11-30 15:51:59 +05:30
Hobofan
7d583dab80
fix for latest nightly
...
Fixes breakage introduced by rust-lang/rust#30043
2015-11-27 14:50:23 +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
Manish Goregaokar
515b2aff63
Merge pull request #473 from fhartwig/loop-index-false-positive
...
Suppress explicit_counter_loop lint if loop variable is used after the loop
2015-11-26 11:16:46 +05:30
Manish Goregaokar
5b6c2b7938
Publish 0.0.25
2015-11-26 04:57:23 +05:30
Florian Hartwig
94dc2f567a
Suppress explicit_counter_loop lint if loop variable is used after the loop
2015-11-26 00:09:01 +01:00
Manish Goregaokar
4d13085832
Merge pull request #472 from fhartwig/more-rustup
...
Fixes to build with current rust nightly
2015-11-25 21:12:10 +05:30
Florian Hartwig
cf54006449
Fixes to build with current rust nightly
2015-11-25 16:28:29 +01:00
Manish Goregaokar
c61c776308
Merge pull request #470 from sanxiyn/match-ref-pats
...
Extend match_ref_pats to desugared matches
2015-11-25 10:37:09 +05:30
Seo Sanghyeon
b1a0abe404
Don't panic
2015-11-25 13:57:50 +09:00
Seo Sanghyeon
746991572f
Extend match_ref_pats to desugared matches
2015-11-25 02:47:17 +09:00
Seo Sanghyeon
a3e8091e87
Dogfood match_ref_pats for if let
2015-11-25 02:44:40 +09:00
Manish Goregaokar
b40e80f039
spurious newline
2015-11-23 16:34:23 +05:30