summary refs log tree commit diff stats
path: root/tests/overflow/trangechecks.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/overflow/trangechecks.nim')
-rw-r--r--tests/overflow/trangechecks.nim48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/overflow/trangechecks.nim b/tests/overflow/trangechecks.nim
new file mode 100644
index 000000000..e48b1272b
--- /dev/null
+++ b/tests/overflow/trangechecks.nim
@@ -0,0 +1,48 @@
+discard """
+  output: '''10
+10
+1
+1
+true'''
+"""
+
+# bug #1344
+
+var expected: int
+var x: range[1..10] = 10
+
+try:
+  x += 1
+  echo x
+except OverflowDefect, RangeDefect:
+  expected += 1
+  echo x
+
+try:
+  inc x
+  echo x
+except OverflowDefect, RangeDefect:
+  expected += 1
+  echo x
+
+x = 1
+try:
+  x -= 1
+  echo x
+except OverflowDefect, RangeDefect:
+  expected += 1
+  echo x
+
+try:
+  dec x
+  echo x
+except OverflowDefect, RangeDefect:
+  expected += 1
+  echo x
+
+echo expected == 4
+
+# bug #13698
+var
+  x45 = "hello".cstring
+  p = x45.len.int32