File: tvararrayiter.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-- 393 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 """
  targets: "c cpp"
"""

block: # issue #24274
  iterator foo[T](x: var T): var T =
    yield x

  var x: array[3, char]
  for a in foo(x):
    let b = a
  
  var y: array[3, char] = ['a', 'b', 'c']
  for a in foo(y):
    let b = a
    doAssert a[0] == 'a'
    doAssert a[1] == 'b'
    doAssert a[2] == 'c'
    doAssert b[0] == 'a'
    doAssert b[1] == 'b'
    doAssert b[2] == 'c'