mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-07 21:43:33 +00:00
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)) =
|
||||
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
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user