summary refs log tree commit diff stats
path: root/tests/js/t16822.nim
blob: 687d60be930f9d7fec0069ebcec53c55105ee1ba (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
block: # bug #16822
  var scores: seq[(set[char], int)] = @{{'/'} : 10}

  var x1: set[char]
  for item in items(scores):
    x1 = item[0]

  doAssert x1 == {'/'}

  var x2: set[char]
  for (chars, value) in items(scores):
    x2 = chars

  doAssert x2 == {'/'}

block: # bug #14574
  proc fn(): auto =
    let a = @[("foo", (12, 13))]
    for (k,v) in a:
      return (k,v)
  doAssert fn() == ("foo", (12, 13))

block: # bug #14574
  iterator fn[T](a:T): lent T = yield a
  let a = (10, (11,))
  proc bar(): auto =
    for (x,y) in fn(a):
      return (x,y)
  doAssert bar() == (10, (11,))