rust/tests/ui/must_use_unit.rs
Andre Bogus cc622608db new lints around #[must_use] fns
`must_use_unit` lints unit-returning functions with a `#[must_use]`
attribute, suggesting to remove it.

`double_must_use` lints functions with a plain `#[must_use]`
attribute, but which return a type which is already `#[must_use]`,
so the attribute has no benefit.

`must_use_candidate` is a pedantic lint that lints functions and
methods that return some non-unit type that is not already
`#[must_use]` and suggests to add the annotation.
2019-10-14 12:09:04 +02:00

27 lines
445 B
Rust

//run-rustfix
// aux-build:macro_rules.rs
#![warn(clippy::must_use_unit)]
#![allow(clippy::unused_unit)]
#[macro_use]
extern crate macro_rules;
#[must_use]
pub fn must_use_default() {}
#[must_use]
pub fn must_use_unit() -> () {}
#[must_use = "With note"]
pub fn must_use_with_note() {}
fn main() {
must_use_default();
must_use_unit();
must_use_with_note();
// We should not lint in external macros
must_use_unit!();
}