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 30 31 32
|
block: # issue #13417
var s: seq[int] = @[]
proc p1(): seq[int] =
s.add(3)
@[1,2]
iterator ip1(v: openArray[int]): auto =
for x in v:
yield x
for x in ip1(p1()):
s.add(x)
doAssert s == @[3, 1, 2]
import std / sequtils
block: # issue #19703
iterator combinations[T](s: seq[T], r: Positive): seq[T] =
yield @[s[0], s[1]]
iterator pairwise[T](s: openArray[T]): seq[T] =
yield @[s[0], s[0]]
proc checkSpecialSubset5(s: seq[int]): bool =
toSeq(
toSeq(
s.combinations(2)
).map(proc(a: auto): int = a[0]).pairwise()
).any(proc(a: auto): bool = a == @[s[0], s[0]])
doAssert checkSpecialSubset5 @[1, 2]
|