fixes #7153
This commit is contained in:
parent
7b2b0ebf7f
commit
5c5e54d3a9
2 changed files with 21 additions and 1 deletions
|
|
@ -288,7 +288,9 @@ proc semArray(c: PContext, n: PNode, prev: PType): PType =
|
|||
var indxB = indx
|
||||
if indxB.kind in {tyGenericInst, tyAlias, tySink}: indxB = lastSon(indxB)
|
||||
if indxB.kind notin {tyGenericParam, tyStatic, tyFromExpr}:
|
||||
if not isOrdinalType(indxB):
|
||||
if indxB.skipTypes({tyRange}).kind in {tyUInt, tyUInt64}:
|
||||
discard
|
||||
elif not isOrdinalType(indxB):
|
||||
localError(n.sons[1].info, errOrdinalTypeExpected)
|
||||
elif enumHasHoles(indxB):
|
||||
localError(n.sons[1].info, errEnumXHasHoles,
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
discard """
|
||||
output: '''0
|
||||
0'''
|
||||
"""
|
||||
|
||||
# test another strange bug ... (I hate this compiler; it is much too buggy!)
|
||||
|
||||
proc putEnv(key, val: string) =
|
||||
|
|
@ -11,3 +16,16 @@ proc putEnv(key, val: string) =
|
|||
env[len(key)] = '='
|
||||
for i in 0..len(val)-1:
|
||||
env[len(key)+1+i] = val[i]
|
||||
|
||||
# bug #7153
|
||||
const
|
||||
UnsignedConst = 1024'u
|
||||
type
|
||||
SomeObject* = object
|
||||
s1: array[UnsignedConst, uint32]
|
||||
|
||||
var
|
||||
obj: SomeObject
|
||||
|
||||
echo obj.s1[0]
|
||||
echo obj.s1[0u]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue