diff options
| author | bors <bors@rust-lang.org> | 2019-06-03 19:12:17 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-06-03 19:12:17 +0000 |
| commit | 6ffb8f53ee1cb0903f9df7d2fdb37ad06d748566 (patch) | |
| tree | 3d027e55bac5a596c40da879190e94e86ab82db3 /src/test | |
| parent | 61d286e9d0530bea8fb1ae24be3989baa9ea08eb (diff) | |
| parent | de2bf3a761db4510c7aae109ada58acbbc450fa7 (diff) | |
| download | rust-6ffb8f53ee1cb0903f9df7d2fdb37ad06d748566.tar.gz rust-6ffb8f53ee1cb0903f9df7d2fdb37ad06d748566.zip | |
Auto merge of #61100 - varkor:must_use-tuple-expr, r=cramertj
Apply #[must_use] lint to components of tuples Fixes https://github.com/rust-lang/rust/issues/61061.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/lint/must_use-tuple.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/lint/must_use-tuple.stderr | 47 |
2 files changed, 64 insertions, 0 deletions
diff --git a/src/test/ui/lint/must_use-tuple.rs b/src/test/ui/lint/must_use-tuple.rs new file mode 100644 index 00000000000..f6b579a7f35 --- /dev/null +++ b/src/test/ui/lint/must_use-tuple.rs @@ -0,0 +1,17 @@ +#![deny(unused_must_use)] + +fn foo() -> (Result<(), ()>, ()) { + (Ok::<(), ()>(()), ()) +} + +fn main() { + (Ok::<(), ()>(()),); //~ ERROR unused `std::result::Result` + + (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5); + //~^ ERROR unused `std::result::Result` + //~^^ ERROR unused `std::result::Result` + + foo(); //~ ERROR unused `std::result::Result` + + ((Err::<(), ()>(()), ()), ()); //~ ERROR unused `std::result::Result` +} diff --git a/src/test/ui/lint/must_use-tuple.stderr b/src/test/ui/lint/must_use-tuple.stderr new file mode 100644 index 00000000000..45d2a439e52 --- /dev/null +++ b/src/test/ui/lint/must_use-tuple.stderr @@ -0,0 +1,47 @@ +error: unused `std::result::Result` in tuple element 0 that must be used + --> $DIR/must_use-tuple.rs:8:6 + | +LL | (Ok::<(), ()>(()),); + | ^^^^^^^^^^^^^^^^ + | +note: lint level defined here + --> $DIR/must_use-tuple.rs:1:9 + | +LL | #![deny(unused_must_use)] + | ^^^^^^^^^^^^^^^ + = note: this `Result` may be an `Err` variant, which should be handled + +error: unused `std::result::Result` in tuple element 0 that must be used + --> $DIR/must_use-tuple.rs:10:6 + | +LL | (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5); + | ^^^^^^^^^^^^^^^^ + | + = note: this `Result` may be an `Err` variant, which should be handled + +error: unused `std::result::Result` in tuple element 2 that must be used + --> $DIR/must_use-tuple.rs:10:27 + | +LL | (Ok::<(), ()>(()), 0, Ok::<(), ()>(()), 5); + | ^^^^^^^^^^^^^^^^ + | + = note: this `Result` may be an `Err` variant, which should be handled + +error: unused `std::result::Result` in tuple element 0 that must be used + --> $DIR/must_use-tuple.rs:14:5 + | +LL | foo(); + | ^^^^^^ + | + = note: this `Result` may be an `Err` variant, which should be handled + +error: unused `std::result::Result` in tuple element 0 that must be used + --> $DIR/must_use-tuple.rs:16:6 + | +LL | ((Err::<(), ()>(()), ()), ()); + | ^^^^^^^^^^^^^^^^^^^^^^^ + | + = note: this `Result` may be an `Err` variant, which should be handled + +error: aborting due to 5 previous errors + |
