* Make index out of bounds more useful by including the 'bounds'.
* fixes #9880 index out of bounds (remaining cases); revives #10228
* change err msg to: `index 3 not in 0 .. 1`
This commit is contained in:
Timothee Cour 2019-02-10 13:07:11 -08:00 • committed by Andreas Rumpf
commit 942495611b
11 changed files with 88 additions and 36 deletions

View file

@ -1,14 +1,14 @@
discard """
errormsg: "index out of bounds: (a: 0) <= (i: 2) <= (b: 1) "
errormsg: "index 2 not in 0 .. 1"
line: 18
"""
block:
try:
let a = @[1,2]
echo a[3]
except Exception as e:
doAssert e.msg == "index out of bounds: (i:3) <= (n:1) "
doAssert e.msg == "index 3 not in 0 .. 1"
# note: this is not being tested, because the CT error happens before
block:
type TTestArr = array[0..1, int16]

View file

@ -1,5 +1,5 @@
discard """
errormsg: "index out of bounds: (a: 0) <= (i: 3) <= (b: 1) "
errormsg: "index 3 not in 0 .. 1"
line: 9
"""
@ -8,9 +8,3 @@ discard """
let a = [1,2]
echo a[3]
when false:
# TOOD: this case is not yet handled, giving: "index out of bounds"
proc fun()=
let a = @[1,2]
echo a[3]
static: fun()