about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-10-14 17:33:30 +0000
committerbors <bors@rust-lang.org>2019-10-14 17:33:30 +0000
commit8fae2dd3c1bfed13bdd6c0cfd4170dd1363f25f7 (patch)
tree5191a1ef86462ec213300758e44a6ee6f25fdd55 /src/test
parentc40d7db6ed04ce0a2f8ce5b0e057615850d69f48 (diff)
parentcc622608db7318b1c0fe3ccd541558436c7c6c4c (diff)
downloadrust-8fae2dd3c1bfed13bdd6c0cfd4170dd1363f25f7.tar.gz
rust-8fae2dd3c1bfed13bdd6c0cfd4170dd1363f25f7.zip
Auto merge of #4560 - rust-lang:must-use-pure, r=phansch
new lints around`#[must_use]`

changelog: Add `must_use_candidate` lint,  add `must-use-unit` lint, add `double_must_use` lint

The first one checks if an public function or method has no mutable argument and mutates no non-local data and lints if it has no `#[must_use]` attribute. It will skip inner functions, because those are usually highly local and the attribute doesn't have as much benefit there.

The second lints `#[must_use]` attributes on functions and methods that return unit. Those attributes are likely a remnant from a refactoring that removed the return value.

The last one lints for `#[must_use]` attributrs without text on functions that return a type which is already marked `#[must_use]`. This has no auto-suggestion, because while it would be easy to do, there may be value in writing a detailed text for the attribute instead.

This fixes #4526
Diffstat (limited to 'src/test')
0 files changed, 0 insertions, 0 deletions