From 29a00ef4a61adae3329cb3ce4cf65201169d6e57 Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Sun, 28 Jul 2019 16:26:01 +0900 Subject: [PATCH 1/2] Add test for issue-50900 --- src/test/ui/issues/issue-50900.rs | 19 +++++++++++++++++++ src/test/ui/issues/issue-50900.stderr | 14 ++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 src/test/ui/issues/issue-50900.rs create mode 100644 src/test/ui/issues/issue-50900.stderr diff --git a/src/test/ui/issues/issue-50900.rs b/src/test/ui/issues/issue-50900.rs new file mode 100644 index 0000000000000..27135af957581 --- /dev/null +++ b/src/test/ui/issues/issue-50900.rs @@ -0,0 +1,19 @@ +#[derive(PartialEq, Eq)] +pub struct Tag(pub Context, pub u16); + +#[derive(PartialEq, Eq)] +pub enum Context { + Tiff, + Exif, +} + +impl Tag { + const ExifIFDPointer: Tag = Tag(Context::Tiff, 34665); +} + +fn main() { + match Tag::ExifIFDPointer { + //~^ ERROR: non-exhaustive patterns: `Tag(Exif, _)` not covered + Tag::ExifIFDPointer => {} + } +} diff --git a/src/test/ui/issues/issue-50900.stderr b/src/test/ui/issues/issue-50900.stderr new file mode 100644 index 0000000000000..7192f11a5e8f0 --- /dev/null +++ b/src/test/ui/issues/issue-50900.stderr @@ -0,0 +1,14 @@ +error[E0004]: non-exhaustive patterns: `Tag(Exif, _)` not covered + --> $DIR/issue-50900.rs:15:11 + | +LL | pub struct Tag(pub Context, pub u16); + | ------------------------------------- `Tag` defined here +... +LL | match Tag::ExifIFDPointer { + | ^^^^^^^^^^^^^^^^^^^ pattern `Tag(Exif, _)` not covered + | + = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0004`. From 15307ca9931c6135f7d14b23fffb3dacc22d207d Mon Sep 17 00:00:00 2001 From: Yuki Okushi Date: Sun, 28 Jul 2019 16:51:21 +0900 Subject: [PATCH 2/2] Move to src/test/ui/match/ --- src/test/ui/{issues => match}/issue-50900.rs | 0 src/test/ui/{issues => match}/issue-50900.stderr | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename src/test/ui/{issues => match}/issue-50900.rs (100%) rename src/test/ui/{issues => match}/issue-50900.stderr (100%) diff --git a/src/test/ui/issues/issue-50900.rs b/src/test/ui/match/issue-50900.rs similarity index 100% rename from src/test/ui/issues/issue-50900.rs rename to src/test/ui/match/issue-50900.rs diff --git a/src/test/ui/issues/issue-50900.stderr b/src/test/ui/match/issue-50900.stderr similarity index 100% rename from src/test/ui/issues/issue-50900.stderr rename to src/test/ui/match/issue-50900.stderr