summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2022-07-27 17:15:51 +0800
committerGitHub <noreply@github.com>2022-07-27 11:15:51 +0200
commit5bbc5edf43e6ede3d162f0463cb74c0a6d58cc1d (patch)
treebbf34330d4481867690b2aea7b9578c28aba848d
parent4c46358db1c11b7c4772431ad5e158ab00a7f4fc (diff)
downloadNim-5bbc5edf43e6ede3d162f0463cb74c0a6d58cc1d.tar.gz
fixes #20031; uint64 is an ordinal type since 1.0 (#20094)
* fixes #20031; uint64 is an ordinal type since 1.0

* Update compiler/semstmts.nim
-rw-r--r--compiler/semstmts.nim2
-rw-r--r--tests/casestmt/tcasestmt.nim11
2 files changed, 12 insertions, 1 deletions
diff --git a/compiler/semstmts.nim b/compiler/semstmts.nim
index f6136c363..8b0691abf 100644
--- a/compiler/semstmts.nim
+++ b/compiler/semstmts.nim
@@ -1050,7 +1050,7 @@ proc semCase(c: PContext, n: PNode; flags: TExprFlags): PNode =
   var typ = commonTypeBegin
   var hasElse = false
   let caseTyp = skipTypes(n[0].typ, abstractVar-{tyTypeDesc})
-  const shouldChckCovered = {tyInt..tyInt64, tyChar, tyEnum, tyUInt..tyUInt32, tyBool}
+  const shouldChckCovered = {tyInt..tyInt64, tyChar, tyEnum, tyUInt..tyUInt64, tyBool}
   case caseTyp.kind
   of shouldChckCovered:
     chckCovered = true
diff --git a/tests/casestmt/tcasestmt.nim b/tests/casestmt/tcasestmt.nim
index 53cccdb64..3a4907494 100644
--- a/tests/casestmt/tcasestmt.nim
+++ b/tests/casestmt/tcasestmt.nim
@@ -287,3 +287,14 @@ doAssert(foo2("Y", "a2") == 0)
 doAssert(foo2("Y", "2a") == 2)
 doAssert(foo2("N", "a3") == 3)
 doAssert(foo2("z", "2") == 0)
+
+
+# bug #20031
+proc main(a: uint64) =
+  case a
+  else:
+    discard
+
+static:
+  main(10)
+main(10)