next steps for closure iterators
This commit is contained in:
parent
85a5bfe605
commit
37229df7fc
28 changed files with 164 additions and 71 deletions
41
tests/objects/tobjconstr.nim
Normal file
41
tests/objects/tobjconstr.nim
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
discard """
|
||||
output: '''(k: kindA, a: (x: abc, z: [1, 1, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 2, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 3, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 4, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 5, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 6, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 7, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 8, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 9, 3]), empty: ())
|
||||
(k: kindA, a: (x: abc, z: [1, 10, 3]), empty: ())'''
|
||||
"""
|
||||
|
||||
type
|
||||
TArg = object
|
||||
x: string
|
||||
z: seq[int]
|
||||
TKind = enum kindXY, kindA
|
||||
TEmpty = object
|
||||
TDummy = ref object
|
||||
case k: TKind
|
||||
of kindXY: x, y: int
|
||||
of kindA:
|
||||
a: TArg
|
||||
empty: TEmpty
|
||||
|
||||
proc `$`[T](s: seq[T]): string =
|
||||
# XXX why is that not in the stdlib?
|
||||
result = "["
|
||||
for i, x in s:
|
||||
if i > 0: result.add(", ")
|
||||
result.add($x)
|
||||
result.add("]")
|
||||
|
||||
proc main() =
|
||||
for i in 1..10:
|
||||
let d = TDummy(k: kindA, a: TArg(x: "abc", z: @[1,i,3]), empty: TEmpty())
|
||||
echo d[]
|
||||
|
||||
main()
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue