diff --git a/compiler/ccgexprs.nim b/compiler/ccgexprs.nim index 55fa7564ce..10b5b12512 100644 --- a/compiler/ccgexprs.nim +++ b/compiler/ccgexprs.nim @@ -1582,7 +1582,8 @@ proc genRangeChck(p: BProc, n: PNode, d: var TLoc, magic: string) = var a: TLoc var dest = skipTypes(n.typ, abstractVar) # range checks for unsigned turned out to be buggy and annoying: - if optRangeCheck notin p.options or dest.kind in {tyUInt..tyUInt64}: + if optRangeCheck notin p.options or dest.skipTypes({tyRange}).kind in + {tyUInt..tyUInt64}: initLocExpr(p, n.sons[0], a) putIntoDest(p, d, n.typ, "(($1) ($2))" % [getTypeDesc(p.module, dest), rdCharLoc(a)])