parent
66db9de714
commit
eca8f1d79f
3 changed files with 45 additions and 0 deletions
22
tests/effects/teffects9.nim
Normal file
22
tests/effects/teffects9.nim
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
discard """
|
||||||
|
errormsg: "can raise an unlisted exception: ref Exception"
|
||||||
|
line: 16
|
||||||
|
"""
|
||||||
|
|
||||||
|
# bug #8481
|
||||||
|
|
||||||
|
type
|
||||||
|
ParentObj = ref object of RootObj
|
||||||
|
DerivedObj = ref object of ParentObj
|
||||||
|
|
||||||
|
method doSome(o: ParentObj) {.base, raises: [].} =
|
||||||
|
discard
|
||||||
|
|
||||||
|
method doSome(o: DerivedObj) =
|
||||||
|
raise newException(Exception, "oops, this raised")
|
||||||
|
|
||||||
|
proc thisRaises() {.raises: [].} =
|
||||||
|
let o = new(DerivedObj)
|
||||||
|
o.doSome()
|
||||||
|
|
||||||
|
thisRaises()
|
||||||
|
|
@ -140,3 +140,16 @@ var res = Resource(name: "Resource 1")
|
||||||
|
|
||||||
(proc (r: typeof(res)) =
|
(proc (r: typeof(res)) =
|
||||||
echo r[])(res)
|
echo r[])(res)
|
||||||
|
|
||||||
|
# bug #4061
|
||||||
|
|
||||||
|
type List[T] = object
|
||||||
|
e: T
|
||||||
|
n: ptr List[T]
|
||||||
|
|
||||||
|
proc zip*[T,U](xs: List[T], ys: List[U]): List[(T,U)] = discard
|
||||||
|
|
||||||
|
proc unzip*[T,U](xs: List[tuple[t: T, u: U]]): (List[T], List[U]) = discard
|
||||||
|
|
||||||
|
proc unzip2*[T,U](xs: List[(T,U)]): (List[T], List[U]) = discard
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,3 +63,13 @@ proc parse(cts: CTS, jn: JsonNode) =
|
||||||
|
|
||||||
proc p(x: proc(){.closure.} not nil) = discard
|
proc p(x: proc(){.closure.} not nil) = discard
|
||||||
p(proc(){.closure.} = discard)
|
p(proc(){.closure.} = discard)
|
||||||
|
|
||||||
|
# bug #6490
|
||||||
|
|
||||||
|
proc p2(a: proc()) =
|
||||||
|
if a.isNil:
|
||||||
|
raise newException(ValueError, "a is nil")
|
||||||
|
else:
|
||||||
|
let b: proc() not nil = a
|
||||||
|
|
||||||
|
p2(writeStackTrace)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue