blob: 7108e334c597fb79b97867db191f4dd73a05531a (
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
discard """
targets: "c cpp"
output: '''Hello
Hello
'''
"""
proc test[T]() =
try:
raise newException(T, "Hello")
except T as foobar:
echo(foobar.msg)
doAssert(not declared(foobar))
template testTemplate(excType: typedesc) =
try:
raise newException(excType, "Hello")
except excType as foobar:
echo(foobar.msg)
doAssert(not declared(foobar))
proc test2() =
testTemplate(Exception)
doAssert(not declared(foobar))
proc testTryAsExpr(i: int) =
let x = try: i
except ValueError as ex:
echo(ex.msg)
-1
test[Exception]()
test2()
testTryAsExpr(5)
# see bug #7115
doAssert(not compiles(
try:
echo 1
except [KeyError as ex1, ValueError as ex2]:
echo 2
))
|