From e10878085eaf215a6782cde5c2ea79d4cdf0f40e Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Sat, 21 Oct 2023 00:38:42 +0800 Subject: fixes #22844; uses arrays to store holeyenums for iterations; much more efficient than sets and reasonable for holeyenums (#22845) fixes #22844 --- tests/misc/tconv.nim | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests/misc') 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.} -- cgit 1.4.1-2-gfad0