diff options
Diffstat (limited to 'tests/run/tobjconstr.nim')
-rw-r--r-- | tests/run/tobjconstr.nim | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/run/tobjconstr.nim b/tests/run/tobjconstr.nim new file mode 100644 index 000000000..3bd785728 --- /dev/null +++ b/tests/run/tobjconstr.nim @@ -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() + |