Test for #[must_use] on traits

This commit is contained in:
varkor 2018-11-03 20:08:38 +00:00
parent cb5520bc48
commit 122886842e
2 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,22 @@
#![deny(unused_must_use)]
#[must_use]
trait Critical {}
trait NotSoCritical {}
trait DecidedlyUnimportant {}
struct Anon;
impl Critical for Anon {}
impl NotSoCritical for Anon {}
impl DecidedlyUnimportant for Anon {}
fn get_critical() -> impl NotSoCritical + Critical + DecidedlyUnimportant {
Anon {}
}
fn main() {
get_critical(); //~ ERROR unused implementer of `Critical` that must be used
}

View File

@ -0,0 +1,14 @@
error: unused implementer of `Critical` that must be used
--> $DIR/must_use-trait.rs:21:5
|
LL | get_critical(); //~ ERROR unused implementer of `Critical` that must be used
| ^^^^^^^^^^^^^^^
|
note: lint level defined here
--> $DIR/must_use-trait.rs:1:9
|
LL | #![deny(unused_must_use)]
| ^^^^^^^^^^^^^^^
error: aborting due to previous error