summary refs log tree commit diff stats
path: root/tests/tuples/ttuples_issues.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tuples/ttuples_issues.nim')
-rw-r--r--tests/tuples/ttuples_issues.nim77
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/tuples/ttuples_issues.nim b/tests/tuples/ttuples_issues.nim
new file mode 100644
index 000000000..9380bd027
--- /dev/null
+++ b/tests/tuples/ttuples_issues.nim
@@ -0,0 +1,77 @@
+discard """
+output: '''
+'''
+"""
+
+
+import tables
+
+
+block t4479:
+  type
+    MyTuple = tuple
+      num: int
+      strings: seq[string]
+      ints: seq[int]
+
+  var foo = MyTuple((
+    num: 7,
+    strings: @[],
+    ints: @[],
+  ))
+
+  var bar = (
+    num: 7,
+    strings: @[],
+    ints: @[],
+  ).MyTuple
+
+  var fooUnnamed = MyTuple((7, @[], @[]))
+  var n = 7
+  var fooSym = MyTuple((num: n, strings: @[], ints: @[]))
+
+
+block t1910:
+  var p = newOrderedTable[tuple[a:int], int]()
+  var q = newOrderedTable[tuple[x:int], int]()
+  for key in p.keys:
+    echo key.a
+  for key in q.keys:
+    echo key.x
+
+
+block t2121:
+  type
+    Item[K,V] = tuple
+      key: K
+      value: V
+
+  var q = newseq[Item[int,int]](1)
+  let (x,y) = q[0]
+
+
+block t2369:
+  type HashedElem[T] = tuple[num: int, storedVal: ref T]
+
+  proc append[T](tab: var seq[HashedElem[T]], n: int, val: ref T) =
+      #tab.add((num: n, storedVal: val))
+      var he: HashedElem[T] = (num: n, storedVal: val)
+      #tab.add(he)
+
+  var g: seq[HashedElem[int]] = @[]
+
+  proc foo() =
+      var x: ref int
+      new(x)
+      x[] = 77
+      g.append(44, x)
+
+
+block t1986:
+  proc test(): int64 =
+    return 0xdeadbeef.int64
+
+  const items = [
+    (var1: test(), var2: 100'u32),
+    (var1: test(), var2: 192'u32)
+  ]