summary refs log tree commit diff stats
path: root/tests/casestmt
diff options
context:
space:
mode:
authorJasper Jenkins <jasper.vs.jenkins@gmail.com>2019-12-18 01:29:01 -0800
committerClyybber <darkmine956@gmail.com>2019-12-18 10:29:01 +0100
commit3c38edf56335926b6a9d7ef317422144b8d3f197 (patch)
tree9827fcf87d9f27345fa45709f4d310e3c3b228cb /tests/casestmt
parent148f6d98204f36a718cb61e9aab01299f06f711b (diff)
downloadNim-3c38edf56335926b6a9d7ef317422144b8d3f197.tar.gz
Better case coverage error message for alias and range enum (#12913)
Diffstat (limited to 'tests/casestmt')
-rw-r--r--tests/casestmt/tincompletecaseobject2.nim23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/casestmt/tincompletecaseobject2.nim b/tests/casestmt/tincompletecaseobject2.nim
new file mode 100644
index 000000000..ccf6a3a6c
--- /dev/null
+++ b/tests/casestmt/tincompletecaseobject2.nim
@@ -0,0 +1,23 @@
+discard """
+cmd: "nim check $file"
+errormsg: "not all cases are covered; missing: {A, B}"
+nimout: '''
+tincompletecaseobject2.nim(16, 1) Error: not all cases are covered; missing: {B, C, D}
+tincompletecaseobject2.nim(19, 1) Error: not all cases are covered; missing: {A, C}
+tincompletecaseobject2.nim(22, 1) Error: not all cases are covered; missing: {A, B}
+'''
+"""
+type
+  ABCD = enum A, B, C, D
+  AliasABCD = ABCD
+  RangeABC = range[A .. C]
+  AliasRangeABC = RangeABC
+
+case AliasABCD A:
+of A: discard
+
+case RangeABC A:
+of B: discard
+
+case AliasRangeABC A:
+of C: discard