summary refs log tree commit diff stats
path: root/tests/reject/tcaseexpr1.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/reject/tcaseexpr1.nim')
-rw-r--r--tests/reject/tcaseexpr1.nim30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/reject/tcaseexpr1.nim b/tests/reject/tcaseexpr1.nim
new file mode 100644
index 000000000..0c2e7c452
--- /dev/null
+++ b/tests/reject/tcaseexpr1.nim
@@ -0,0 +1,30 @@
+discard """
+  file: "tcaseexpr1.nim"
+
+  line: 23
+  errormsg: "not all cases are covered"
+
+  line: 29
+  errormsg: "type mismatch: got (string) but expected 'int'"
+"""
+
+type
+  E = enum A, B, C
+
+proc foo(x): auto =
+  return case x
+    of 1..9: "digit"
+    else: "number"
+
+var r = foo(10)
+
+var x = C
+
+var t1 = case x:
+  of A: "a"
+  of B: "b"
+
+var t2 = case x:
+  of A: 10
+  of B, C: "23"
+