diff options
Diffstat (limited to 'tests/generics/texplicitgeneric1.nim')
-rw-r--r-- | tests/generics/texplicitgeneric1.nim | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/tests/generics/texplicitgeneric1.nim b/tests/generics/texplicitgeneric1.nim index d54044368..ac0197c1a 100644 --- a/tests/generics/texplicitgeneric1.nim +++ b/tests/generics/texplicitgeneric1.nim @@ -5,33 +5,33 @@ discard """ # test explicit type instantiation type - TDict*[TKey, TValue] = object + TDict*[TKey, TValue] = object data: seq[tuple[k: TKey, v: TValue]] PDict*[TKey, #with `==`(a, b: TKey): bool - # hash(a: TKey): int, + # hash(a: TKey): int, TValue] = ref TDict[TKey, TValue] - -proc newDict*[TKey, TValue](): PDict[TKey, TValue] = + +proc newDict*[TKey, TValue](): PDict[TKey, TValue] = new(result) result.data = @[] - -proc add*[TKey, TValue](d: PDict[TKey, TValue], k: TKey, v: TValue) = + +proc add*[TKey, TValue](d: PDict[TKey, TValue], k: TKey, v: TValue) = d.data.add((k, v)) - -iterator items*[Tkey, TValue](d: PDict[TKey, TValue]): tuple[k: TKey, - v: TValue] = + +iterator items*[Tkey, TValue](d: PDict[TKey, TValue]): tuple[k: TKey, + v: TValue] = for k, v in items(d.data): yield (k, v) - + var d = newDict[int, string]() d.add(12, "12") d.add(13, "13") -for k, v in items(d): +for k, v in items(d): stdout.write("Key: ", $k, " value: ", v) var c = newDict[char, string]() c.add('A', "12") c.add('B', "13") -for k, v in items(c): +for k, v in items(c): stdout.write(" Key: ", $k, " value: ", v) |