Skip to content

Commit

Permalink
Auto merge of #13241 - alex-semenyuk:fix_double_must_use, r=xFrednet
Browse files Browse the repository at this point in the history
Fix confusing message in double_must_use lint

Close #13003
As mentioned at #13003 it isn't quite clear what it means "an empty `#[must_use]` attribute" so clarify it

changelog: [none]
  • Loading branch information
bors committed Aug 20, 2024
2 parents 2c0f318 + 9948b42 commit 70650de
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 14 deletions.
4 changes: 2 additions & 2 deletions clippy_lints/src/functions/must_use.rs
Original file line number Diff line number Diff line change
Expand Up @@ -129,9 +129,9 @@ fn check_needless_must_use(
cx,
DOUBLE_MUST_USE,
fn_header_span,
"this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`",
"this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]`",
None,
"either add some descriptive text or remove the attribute",
"either add some descriptive message or remove the attribute",
);
}
}
Expand Down
8 changes: 4 additions & 4 deletions tests/ui/double_must_use.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@

#[must_use]
pub fn must_use_result() -> Result<(), ()> {
//~^ ERROR: this function has an empty `#[must_use]` attribute, but returns a type already
//~^ ERROR: this function has a `#[must_use]` attribute with no message, but returns a type already
unimplemented!();
}

#[must_use]
pub fn must_use_tuple() -> (Result<(), ()>, u8) {
//~^ ERROR: this function has an empty `#[must_use]` attribute, but returns a type already
//~^ ERROR: this function has a `#[must_use]` attribute with no message, but returns a type already
unimplemented!();
}

#[must_use]
pub fn must_use_array() -> [Result<(), ()>; 1] {
//~^ ERROR: this function has an empty `#[must_use]` attribute, but returns a type already
//~^ ERROR: this function has a `#[must_use]` attribute with no message, but returns a type already
unimplemented!();
}

Expand All @@ -32,7 +32,7 @@ async fn async_must_use() -> usize {

#[must_use]
async fn async_must_use_result() -> Result<(), ()> {
//~^ ERROR: this function has an empty `#[must_use]` attribute, but returns a type already
//~^ ERROR: this function has a `#[must_use]` attribute with no message, but returns a type already
Ok(())
}

Expand Down
16 changes: 8 additions & 8 deletions tests/ui/double_must_use.stderr
Original file line number Diff line number Diff line change
@@ -1,36 +1,36 @@
error: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`
error: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]`
--> tests/ui/double_must_use.rs:5:1
|
LL | pub fn must_use_result() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: either add some descriptive text or remove the attribute
= help: either add some descriptive message or remove the attribute
= note: `-D clippy::double-must-use` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(clippy::double_must_use)]`

error: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`
error: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]`
--> tests/ui/double_must_use.rs:11:1
|
LL | pub fn must_use_tuple() -> (Result<(), ()>, u8) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: either add some descriptive text or remove the attribute
= help: either add some descriptive message or remove the attribute

error: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`
error: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]`
--> tests/ui/double_must_use.rs:17:1
|
LL | pub fn must_use_array() -> [Result<(), ()>; 1] {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: either add some descriptive text or remove the attribute
= help: either add some descriptive message or remove the attribute

error: this function has an empty `#[must_use]` attribute, but returns a type already marked as `#[must_use]`
error: this function has a `#[must_use]` attribute with no message, but returns a type already marked as `#[must_use]`
--> tests/ui/double_must_use.rs:34:1
|
LL | async fn async_must_use_result() -> Result<(), ()> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: either add some descriptive text or remove the attribute
= help: either add some descriptive message or remove the attribute

error: aborting due to 4 previous errors

0 comments on commit 70650de

Please sign in to comment.