Skip to content

Commit

Permalink
added a test case ensuring exception inference continues to work
Browse files Browse the repository at this point in the history
  • Loading branch information
Araq committed Jun 11, 2021
1 parent 5760990 commit 2ca6169
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions tests/exception/texception_inference.nim
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
discard """
output: '''good'''
cmd: "nim c --gc:orc -d:release $file"
"""

type
Raising[T, E] = object

proc foo[T, Errors](x: proc (x: Raising[T, Errors])) {.raises: Errors.} =
discard

proc callback(x: Raising[int, ValueError]) =
echo "callback"

proc xy() {.raises: [ValueError].} =
foo callback

proc x[E]() {.raises: [E, IOError].} =
raise newException(E, "text here")

try:
x[ValueError]()
except ValueError:
echo "good"

proc callback2(x: Raising[int, IOError]) =
discard

proc foo2[T, OtherErrors](x: proc(x: Raising[T, OtherErrors])) {.raises: [ValueError, OtherErrors].} =
discard

foo2 callback2

0 comments on commit 2ca6169

Please sign in to comment.