mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-31 22:41:50 +00:00
cc622608db
`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.
27 lines
445 B
Rust
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!();
|
|
}
|