File: tinvalidarrayaccess.nim

package info (click to toggle)
nim 2.2.4-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,951,164 kB
  • sloc: sh: 24,599; ansic: 1,771; python: 1,493; makefile: 1,013; sql: 298; asm: 141; xml: 13
file content (21 lines) | stat: -rw-r--r-- 424 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
discard """
  errormsg: "conversion from int literal(2) to range 0..1(int) is invalid"
  line: 18
"""
block:
  try:
    let a = @[1,2]
    echo a[3]
  except Exception as e:
    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]
  var f: TTestArr
  f[0] = 30
  f[1] = 40
  f[2] = 50
  f[3] = 60

  echo(repr(f))