mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-05 20:47:53 +00:00
* fixes #20031; uint64 is an ordinal type since 1.0
* Update compiler/semstmts.nim
(cherry picked from commit 5bbc5edf43)
This commit is contained in:
@@ -978,7 +978,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
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user