summary refs log tree commit diff stats
path: root/tests/vm/tcompiletimerange.nim
diff options
context:
space:
mode:
authornarimiran <narimiran@disroot.org>2019-05-29 14:47:45 +0200
committernarimiran <narimiran@disroot.org>2019-05-29 14:47:45 +0200
commita8939686a15f966919823bc97c371be60b99aab9 (patch)
tree7187b5b3b9b7119b500108a229a274f4e4bd2456 /tests/vm/tcompiletimerange.nim
parent3845faf85faf0b3c33ee722bbebb1e6294a791b5 (diff)
downloadNim-a8939686a15f966919823bc97c371be60b99aab9.tar.gz
close #8199 by adding a test
Diffstat (limited to 'tests/vm/tcompiletimerange.nim')
-rw-r--r--tests/vm/tcompiletimerange.nim25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/vm/tcompiletimerange.nim b/tests/vm/tcompiletimerange.nim
new file mode 100644
index 000000000..fd809985e
--- /dev/null
+++ b/tests/vm/tcompiletimerange.nim
@@ -0,0 +1,25 @@
+# issue #8199
+
+const rangesGCHoldEnabled = not defined(rangesDisableGCHold)
+
+type
+  # A view into immutable array
+  Range* {.shallow.} [T] = object
+    when rangesGCHoldEnabled:
+      gcHold: seq[T]
+    start: ptr T
+    mLen: int32
+
+type
+  BytesRange* = Range[byte]
+  NibblesRange* = object
+    bytes: BytesRange
+
+const
+  zeroBytesRange* = BytesRange()
+
+proc initNibbleRange*(bytes: BytesRange): NibblesRange =
+  result.bytes = bytes
+
+const
+  zeroNibblesRange* = initNibbleRange(zeroBytesRange)