summaryrefslogtreecommitdiffstats
path: root/src/test/ui/never_type/exhaustive_patterns.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/never_type/exhaustive_patterns.rs')
-rw-r--r--src/test/ui/never_type/exhaustive_patterns.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/never_type/exhaustive_patterns.rs b/src/test/ui/never_type/exhaustive_patterns.rs
new file mode 100644
index 000000000..2e23fa182
--- /dev/null
+++ b/src/test/ui/never_type/exhaustive_patterns.rs
@@ -0,0 +1,21 @@
+// check-fail
+// known-bug: #104034
+
+#![feature(exhaustive_patterns, never_type)]
+
+mod inner {
+ pub struct Wrapper<T>(T);
+}
+
+enum Either<A, B> {
+ A(A),
+ B(inner::Wrapper<B>),
+}
+
+fn foo() -> Either<(), !> {
+ Either::A(())
+}
+
+fn main() {
+ let Either::A(()) = foo();
+}