summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--lib/pure/collections/sets.nim4
-rw-r--r--tests/stdlib/tsets.nim6
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/pure/collections/sets.nim b/lib/pure/collections/sets.nim
index 12fa2625b..ad3fe7218 100644
--- a/lib/pure/collections/sets.nim
+++ b/lib/pure/collections/sets.nim
@@ -242,6 +242,6 @@ proc `<=`*[A](s, t: TSet[A]): bool =
 proc `==`*[A](s, t: TSet[A]): bool =
   s.counter == t.counter and s <= t
 
-proc map*[A, B](data: TSet[A], op: proc (x: A): B {.closure.}): TSet[A] =
+proc map*[A, B](data: TSet[A], op: proc (x: A): B {.closure.}): TSet[B] =
   result = initSet[B]()
-  for i in data: result.incl(op(i))
+  for item in data: result.incl(op(item))
diff --git a/tests/stdlib/tsets.nim b/tests/stdlib/tsets.nim
index a30373d37..656c5b3f2 100644
--- a/tests/stdlib/tsets.nim
+++ b/tests/stdlib/tsets.nim
@@ -1,13 +1,17 @@
 discard """
-  output: '''true'''
+  output: '''true
+true'''
 """
 
 import sets
 var
   a = initSet[int]()
   b = initSet[int]()
+  c = initSet[string]()
 
 for i in 0..5: a.incl(i)
 for i in 1..6: b.incl(i)
+for i in 0..5: c.incl($i)
 
 echo map(a, proc(x: int): int = x + 1) == b
+echo map(a, proc(x: int): string = $x) == c