summary refs log tree commit diff stats
path: root/tests/misc
diff options
context:
space:
mode:
authorringabout <43030857+ringabout@users.noreply.github.com>2023-10-21 00:38:42 +0800
committerGitHub <noreply@github.com>2023-10-20 18:38:42 +0200
commite10878085eaf215a6782cde5c2ea79d4cdf0f40e (patch)
tree74d47dd7bbb24cb3e79e6c8e875731d1efdb3b2c /tests/misc
parent27deacecaadd711cbb5a615abba3237925250616 (diff)
downloadNim-e10878085eaf215a6782cde5c2ea79d4cdf0f40e.tar.gz
fixes #22844; uses arrays to store holeyenums for iterations; much more efficient than sets and reasonable for holeyenums (#22845)
fixes #22844
Diffstat (limited to 'tests/misc')
-rw-r--r--tests/misc/tconv.nim16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/misc/tconv.nim b/tests/misc/tconv.nim
index 5e8eac729..e4a99344a 100644
--- a/tests/misc/tconv.nim
+++ b/tests/misc/tconv.nim
@@ -2,6 +2,9 @@ discard """
   matrix: "--warningAsError:EnumConv --warningAsError:CStringConv"
 """
 
+from std/enumutils import items  # missing from the example code
+from std/sequtils import toSeq
+
 template reject(x) =
   static: doAssert(not compiles(x))
 template accept(x) =
@@ -117,4 +120,17 @@ reject:
   var va = 2
   var vb = va.Hole
 
+block: # bug #22844
+  type
+    A = enum
+      a0 = 2
+      a1 = 4
+      a2
+    B[T] = enum
+      b0 = 2
+      b1 = 4
+
+  doAssert A.toSeq == [a0, a1, a2]
+  doAssert B[float].toSeq == [B[float].b0, B[float].b1]
+
 {.pop.}