summary refs log tree commit diff stats
path: root/tests/tuples
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2015-05-03 01:08:33 +0200
committerAraq <rumpf_a@web.de>2015-05-03 01:08:53 +0200
commit0e1167d64bfc00a9d406a8810cfd76fa0d50a44a (patch)
treedcafa1e7a92d3dde8e74a7d02b2cae639370f763 /tests/tuples
parente23857a98bc1f682896910c545eb9eae7ff5225f (diff)
downloadNim-0e1167d64bfc00a9d406a8810cfd76fa0d50a44a.tar.gz
made test green
Diffstat (limited to 'tests/tuples')
-rw-r--r--tests/tuples/tuple_with_seq.nim46
1 files changed, 46 insertions, 0 deletions
diff --git a/tests/tuples/tuple_with_seq.nim b/tests/tuples/tuple_with_seq.nim
new file mode 100644
index 000000000..39edb500f
--- /dev/null
+++ b/tests/tuples/tuple_with_seq.nim
@@ -0,0 +1,46 @@
+discard """
+  output: '''it's nil
+@[1, 2, 3]'''
+"""
+
+template foo(s: string = nil) =
+  if isNil(s):
+    echo "it's nil"
+  else:
+    echo s
+
+foo
+
+
+# bug #2632
+
+proc takeTup(x: tuple[s: string;x: seq[int]]) =
+  discard
+
+takeTup(("foo", @[]))
+
+
+#proc foobar(): () =
+
+proc f(xs: seq[int]) =
+  discard
+
+proc g(t: tuple[n:int, xs:seq[int]]) =
+  discard
+
+when isMainModule:
+  f(@[]) # OK
+  g((1,@[1])) # OK
+  g((0,@[])) # NG
+
+
+# bug #2630
+type T = tuple[a: seq[int], b: int]
+
+var t: T = (@[1,2,3], 7)
+
+proc test(s: seq[int]): T =
+  echo s
+  (s, 7)
+
+t = test(t.a)