summary refs log tree commit diff stats
path: root/tests/effects
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2021-09-06 17:43:03 +0200
committerGitHub <noreply@github.com>2021-09-06 17:43:03 +0200
commit34a53e804943ceaf3900feb6e89194aa03236c0a (patch)
treee883cb339a6e51c47667881f7c4253ed599cf312 /tests/effects
parent90bfd342504fd1a6a9e4c8f232bf7c35eab92f82 (diff)
downloadNim-34a53e804943ceaf3900feb6e89194aa03236c0a.tar.gz
fixes #12642 (#18811)
* fixes #12642

* update important packages; refs #18804

* fixes #18805; refs #18806

* fixes a regression

* Update testament/categories.nim

Co-authored-by: flywind <xzsflywind@gmail.com>

* progress

* progress

Co-authored-by: flywind <xzsflywind@gmail.com>
Diffstat (limited to 'tests/effects')
-rw-r--r--tests/effects/teffects6.nim20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/effects/teffects6.nim b/tests/effects/teffects6.nim
index 6a4eea155..4a39e0dca 100644
--- a/tests/effects/teffects6.nim
+++ b/tests/effects/teffects6.nim
@@ -34,3 +34,23 @@ proc use*() =
 
 
 use()
+
+# bug #12642
+import os
+
+proc raises() {.raises: Exception.} = discard
+proc harmless() {.raises: [].} = discard
+
+let x = if paramStr(1) == "true": harmless else: raises
+
+let
+  choice = 0
+
+proc withoutSideEffects(): int = 0
+proc withSideEffects(): int = echo "foo" # the echo causes the side effect
+
+let procPtr = case choice
+              of 0: withoutSideEffects
+              else: withSideEffects
+
+echo procPtr.repr