summary refs log tree commit diff stats
path: root/tests/casestmt/tincompletecaseobject2.nim
blob: c080cfeb19b385c5ef704a33f3bfdf665697f8cc (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
discard """
cmd: "nim check $file"
errormsg: "not all cases are covered; missing: {A, B}"
nimout: '''
tincompletecaseobject2.nim(18, 1) Error: not all cases are covered; missing: {' ', '!', '\"', '#', '$', '%', '&', '\'', '*', '+', ',', '-', '.', '/', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '{', '|', '}', '~'}
tincompletecaseobject2.nim(22, 1) Error: not all cases are covered; missing: {B, C, D}
tincompletecaseobject2.nim(25, 1) Error: not all cases are covered; missing: {A, C}
tincompletecaseobject2.nim(28, 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
  PrintableChars = range[' ' .. '~']

case PrintableChars 'x':
of '0'..'9', 'A'..'Z', 'a'..'z': discard
of '(', ')': discard

case AliasABCD A:
of A: discard

case RangeABC A:
of B: discard

case AliasRangeABC A:
of C: discard