about summary refs log tree commit diff
path: root/src/rustllvm/RustWrapper.cpp
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-01-23 09:43:29 -0800
committerAlex Crichton <alex@alexcrichton.com>2014-01-28 15:54:47 -0800
commit9896beb5b5363eae1f8bfee35c12b3d78185e0e6 (patch)
tree32fa24c142539a38429e2c4b062a06afade1639d /src/rustllvm/RustWrapper.cpp
parentedfb546e4b2b0aa6dbb6316709b80e034539d09d (diff)
downloadrust-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