summary refs log tree commit diff stats
path: root/tests/concepts/t8558.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/concepts/t8558.nim')
-rw-r--r--tests/concepts/t8558.nim26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/concepts/t8558.nim b/tests/concepts/t8558.nim
new file mode 100644
index 000000000..acb2de30e
--- /dev/null
+++ b/tests/concepts/t8558.nim
@@ -0,0 +1,26 @@
+discard """
+  output: '''10
+9
+8
+7
+6
+5
+4
+3
+2
+1
+go!
+'''
+"""
+
+type Integral = concept x
+  x == 0 is bool
+  x - 1 is type(x)
+
+proc countToZero(n: Integral) =
+  if n == 0: echo "go!"
+  else:
+    echo n
+    countToZero(n-1)
+
+countToZero(10)
\ No newline at end of file