about summary refs log tree commit diff
path: root/src/test/ui/match
diff options
context:
space:
mode:
authorBastian Kauschke <bastian_kauschke@hotmail.de>2020-06-02 00:23:47 +0200
committerBastian Kauschke <bastian_kauschke@hotmail.de>2020-06-02 00:23:47 +0200
commit29508ce3ad7cf5c886f475d00148b076857bf93c (patch)
treec28c05997c6397d8326a9a9847bde868c52bce29 /src/test/ui/match
parent4b1f86adbe41e8dd4864ca2315f43953dd503bb5 (diff)
normalize adt fields during structural match check
Diffstat (limited to 'src/test/ui/match')
-rw-r--r--src/test/ui/match/issue-72896.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/match/issue-72896.rs b/src/test/ui/match/issue-72896.rs
new file mode 100644
index 00000000000..3a8b8203731
--- /dev/null
+++ b/src/test/ui/match/issue-72896.rs
@@ -0,0 +1,23 @@
+// run-pass
+trait EnumSetType {
+    type Repr;
+}
+
+enum Enum8 { }
+impl EnumSetType for Enum8 {
+    type Repr = u8;
+}
+
+#[derive(PartialEq, Eq)]
+struct EnumSet<T: EnumSetType> {
+    __enumset_underlying: T::Repr,
+}
+
+const CONST_SET: EnumSet<Enum8> = EnumSet { __enumset_underlying: 3 };
+
+fn main() {
+    match CONST_SET {
+        CONST_SET => { /* ok */ }
+        _ => panic!("match fell through?"),
+    }
+}