diff options
| author | varkor <github@varkor.com> | 2018-11-03 20:08:38 +0000 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2018-11-19 17:41:10 +0000 |
| commit | 122886842e74467e24935793f79d7443eb509e35 (patch) | |
| tree | 1181ad669de4862fd2ee06f9de61755ffe4e3e0e /src/test | |
| parent | cb5520bc4865473971281ddb3e33a29a256109c8 (diff) | |
| download | rust-122886842e74467e24935793f79d7443eb509e35.tar.gz rust-122886842e74467e24935793f79d7443eb509e35.zip | |
Test for #[must_use] on traits
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/lint/must_use-trait.rs | 22 | ||||
| -rw-r--r-- | src/test/ui/lint/must_use-trait.stderr | 14 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/test/ui/lint/must_use-trait.rs b/src/test/ui/lint/must_use-trait.rs new file mode 100644 index 00000000000..23df4fa6132 --- /dev/null +++ b/src/test/ui/lint/must_use-trait.rs @@ -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 +} diff --git a/src/test/ui/lint/must_use-trait.stderr b/src/test/ui/lint/must_use-trait.stderr new file mode 100644 index 00000000000..94f5f4f40d2 --- /dev/null +++ b/src/test/ui/lint/must_use-trait.stderr @@ -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 + |
