diff options
Diffstat (limited to 'tests/generics/tgeneric_closure.nim')
-rw-r--r-- | tests/generics/tgeneric_closure.nim | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/tests/generics/tgeneric_closure.nim b/tests/generics/tgeneric_closure.nim deleted file mode 100644 index 7198dce96..000000000 --- a/tests/generics/tgeneric_closure.nim +++ /dev/null @@ -1,37 +0,0 @@ -# Test to ensure TEventHandler is '.closure' - -# bug #1187 - -type - TEventArgs* = object - skip*: bool - TEventHandler[T] = proc (e: var TEventArgs, data: T) {.closure.} - TEvent*[T] = object - #handlers: seq[TEventHandler[T]] # Does not work - handlers: seq[proc (e: var TEventArgs, data: T) {.closure.}] # works - - TData = object - x: int - - TSomething = object - s: TEvent[TData] - -proc init*[T](e: var TEvent[T]) = - e.handlers.newSeq(0) - -#proc add*[T](e: var TEvent[T], h: proc (e: var TEventArgs, data: T) {.closure.}) = -# this line works -proc add*[T](e: var TEvent[T], h: TEventHandler[T]) = - # this line does not work - e.handlers.add(h) - -proc main () = - var something: TSomething - something.s.init() - var fromOutside = 4711 - - something.s.add() do (e: var TEventArgs, data: TData): - var x = data.x - x = fromOutside - -main() |