blob: eee8fb71ac93d0482f18747fdbaab83b5f49f70e (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
discard """
errormsg: "s1 can raise an unlisted exception: CatchableError"
line: 27
"""
{.push warningAsError[Effect]: on.}
{.experimental: "strictEffects".}
# bug #18376
{.push raises: [Defect].}
type Call = proc (x: int): int {.gcsafe, raises: [Defect, CatchableError].}
type Bar* = object
foo*: Call
proc passOn*(x: Call) = discard
proc barCal(b: var Bar, s: string, s1: Call) =
#compiler complains that his line can throw CatchableError
passOn s1
proc passOnB*(x: Call) {.effectsOf: x.} = discard
proc barCal2(b: var Bar, s: string, s1: Call) =
passOnB s1
|