diff options
Diffstat (limited to 'tests/misc/tlambdadonotation.nim')
-rw-r--r-- | tests/misc/tlambdadonotation.nim | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/tests/misc/tlambdadonotation.nim b/tests/misc/tlambdadonotation.nim deleted file mode 100644 index 3160c0972..000000000 --- a/tests/misc/tlambdadonotation.nim +++ /dev/null @@ -1,78 +0,0 @@ -discard """ -output: ''' -issue #11812 -issue #10899 -123 -issue #11367 -event consumed! -''' -""" - -echo "issue #11812" - -proc run(a: proc()) = a() - -proc main() = - var test: int - run(proc() = test = 0) - run do: - test = 0 - -main() - - -echo "issue #10899" - -proc foo(x: proc {.closure.}) = - x() - -proc bar = - var x = 123 - # foo proc = echo x #[ ok ]# - foo: echo x #[ SIGSEGV: Illegal storage access. (Attempt to read from nil?) ]# - -bar() - -echo "issue #11367" - -type - - EventCB = proc() - - Emitter = object - cb: EventCB - - Subscriber = object - discard - -proc newEmitter(): Emitter = - result - -proc on_event(self: var Emitter, cb: EventCB) = - self.cb = cb - -proc emit(self: Emitter) = - self.cb() - -proc newSubscriber(): Subscriber = - result - -proc consume(self: Subscriber) = - echo "event consumed!" - -proc main2() = - var emitter = newEmitter() - var subscriber = newSubscriber() - - proc foo() = - subscriber.consume() - - emitter.on_event() do (): - subscriber.consume() - - # this works - # emitter.on_event(foo) - - emitter.emit() - -main2() |