diff options
-rw-r--r-- | compiler/semtypes.nim | 5 | ||||
-rw-r--r-- | tests/array/tarray.nim | 9 |
2 files changed, 11 insertions, 3 deletions
diff --git a/compiler/semtypes.nim b/compiler/semtypes.nim index b3ff6c82a..d71ad6fe6 100644 --- a/compiler/semtypes.nim +++ b/compiler/semtypes.nim @@ -170,9 +170,10 @@ proc semRangeAux(c: PContext, n: PNode, prev: PType): PType = range[1] = semExprWithType(c, n[2], {efDetermineType}) var rangeT: array[2, PType] - for i in 0..1: rangeT[i] = range[i].typ.skipTypes({tyStatic}).skipIntLit + for i in 0..1: + rangeT[i] = range[i].typ.skipTypes({tyStatic}).skipIntLit - if not sameType(rangeT[0], rangeT[1]): + if not sameType(rangeT[0].skipTypes({tyRange}), rangeT[1].skipTypes({tyRange})): localError(n.info, errPureTypeMismatch) elif not rangeT[0].isOrdinalType: localError(n.info, errOrdinalTypeExpected) diff --git a/tests/array/tarray.nim b/tests/array/tarray.nim index 16ef558d1..01fbdf422 100644 --- a/tests/array/tarray.nim +++ b/tests/array/tarray.nim @@ -1,6 +1,6 @@ discard """ file: "tarray.nim" - output: "10012" + output: "100124" """ # simple check for one dimensional arrays @@ -30,4 +30,11 @@ write(stdout, sum([])) write(stdout, getPos( (x: 5, y: 7) )) #OUT 10012 +# bug #1669 +let filesToCreate = ["tempdir/fl1.a", "tempdir/fl2.b", + "tempdir/tempdir2/fl3.e", "tempdir/tempdir2/tempdir3/fl4.f"] + +var found: array[0..filesToCreate.high, bool] + +echo found.len |