diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2014-01-23 09:43:29 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2014-01-28 15:54:47 -0800 |
| commit | 9896beb5b5363eae1f8bfee35c12b3d78185e0e6 (patch) | |
| tree | 32fa24c142539a38429e2c4b062a06afade1639d /src/rustllvm/RustWrapper.cpp | |
| parent | edfb546e4b2b0aa6dbb6316709b80e034539d09d (diff) | |
| download | rust-9896beb5b5363eae1f8bfee35c12b3d78185e0e6.tar.gz rust-9896beb5b5363eae1f8bfee35c12b3d78185e0e6.zip | |
Implement an unused_result lint
I attempted to implement the lint in two steps. My first attempt was a default-warn lint about *all* unused results. While this attempt did indeed find many possible bugs, I felt that the false-positive rate was too high to be turned on by default for all of Rust. My second attempt was to make unused-result a default-allow lint, but allow certain types to opt-in to the notion of "you must use this". For example, the Result type is now flagged with #[must_use]. This lint about "must use" types is warn by default (it's different from unused-result). The unused_must_use lint had a 100% hit rate in the compiler, but there's not that many places that return Result right now. I believe that this lint is a crucial step towards moving away from conditions for I/O (because all I/O will return Result by default). I'm worried that this lint is a little too specific to Result itself, but I believe that the false positive rate for the unused_result lint is too high to make it useful when turned on by default.
Diffstat (limited to 'src/rustllvm/RustWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
