about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2019-08-03 13:12:02 +0200
committerGitHub <noreply@github.com>2019-08-03 13:12:02 +0200
commit2fd954803983c19a8ba95f817caf080f2b521f20 (patch)
tree03a613e99ec93e4b5ca2ed667280166b0d4ebfc5 /src/test
parent6a38ef7abd75d28dd61bd939423468d64789b076 (diff)
parent8235b6f8c37ca531279c5da5663120ea4ec8e0b3 (diff)
downloadrust-2fd954803983c19a8ba95f817caf080f2b521f20.tar.gz
rust-2fd954803983c19a8ba95f817caf080f2b521f20.zip
Rollup merge of #63227 - jakubadamw:issue-63151, r=estebank
dead_code: Properly inspect fields in struct patterns with type relative paths

Closes #63151.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs b/src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs
new file mode 100644
index 00000000000..66fb8dd0dea
--- /dev/null
+++ b/src/test/ui/type-alias-enum-variants/issue-63151-dead-code-lint-fields-in-patterns.rs
@@ -0,0 +1,26 @@
+// check-pass
+
+// Regression test for the issue #63151:
+// Spurious unused field warning when matching variants under a `Self` scope
+//
+// This test checks that the `dead_code` lint properly inspects fields
+// in struct patterns that use a type relative path.
+
+#![deny(dead_code)]
+
+enum Enum {
+    Variant { field: usize }
+}
+
+impl Enum {
+    fn read_field(self) -> usize {
+        match self {
+            Self::Variant { field } => field
+        }
+    }
+}
+
+fn main() {
+    let e = Enum::Variant { field: 42 };
+    println!("{}", e.read_field());
+}