summary refs log tree commit diff stats
path: root/tests/vm/tcompiletimerange.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vm/tcompiletimerange.nim')
-rw-r--r--tests/vm/tcompiletimerange.nim28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/vm/tcompiletimerange.nim b/tests/vm/tcompiletimerange.nim
new file mode 100644
index 000000000..cd675b4a3
--- /dev/null
+++ b/tests/vm/tcompiletimerange.nim
@@ -0,0 +1,28 @@
+discard """
+"""
+
+# issue #8199
+
+const rangesGCHoldEnabled = true # not defined(rangesDisableGCHold)
+
+type
+  # A view into immutable array
+  Range*[T] {.shallow.} = object
+    when rangesGCHoldEnabled:
+      gcHold: seq[T] # 0
+    start: ptr T # 1
+    mLen: int32 # 2
+
+type
+  BytesRange* = Range[byte]
+  NibblesRange* = object
+    bytes: BytesRange
+
+const
+  zeroBytesRange* = BytesRange()
+
+proc initNibbleRange*(bytes: BytesRange): NibblesRange =
+  result.bytes = bytes
+
+const
+  zeroNibblesRange* = initNibbleRange(zeroBytesRange)