summary refs log tree commit diff stats
path: root/tests/compile/tircbot.nim
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-09-23 00:52:34 +0200
committerAraq <rumpf_a@web.de>2012-09-23 00:52:34 +0200
commit603dc36008150d9a6d2b033fb863596e71cb8b04 (patch)
treed1e62fb10633718bfce58b9765f1e41ad6deee0f /tests/compile/tircbot.nim
parentea4435544e16b6fa32efaded59acc255aeae104a (diff)
downloadNim-603dc36008150d9a6d2b033fb863596e71cb8b04.tar.gz
bugfix: 'result' cannot be captured in a closure
Diffstat (limited to 'tests/compile/tircbot.nim')
-rw-r--r--tests/compile/tircbot.nim20
1 files changed, 11 insertions, 9 deletions
diff --git a/tests/compile/tircbot.nim b/tests/compile/tircbot.nim
index e538a7e57..10482c3f6 100644
--- a/tests/compile/tircbot.nim
+++ b/tests/compile/tircbot.nim
@@ -426,21 +426,23 @@ proc handleIrc(irc: var TAsyncIRC, event: TIRCEvent, state: PState) =
       nil # TODO: ?
 
 proc open(port: TPort = TPort(5123)): PState =
-  new(result)
-  result.dispatcher = newDispatcher()
+  var res: PState
+  new(res)
+  res.dispatcher = newDispatcher()
   
-  result.hubPort = port
-  result.hubConnect()
+  res.hubPort = port
+  res.hubConnect()
   let hirc =
     proc (a: var TAsyncIRC, ev: TIRCEvent) =
-      handleIrc(a, ev, result)
+      handleIrc(a, ev, res)
   # Connect to the irc server.
-  result.ircClient = AsyncIrc(ircServer, nick = botNickname, user = botNickname,
+  res.ircClient = AsyncIrc(ircServer, nick = botNickname, user = botNickname,
                  joinChans = joinChans, ircEvent = hirc)
-  result.ircClient.connect()
-  result.dispatcher.register(result.ircClient)
+  res.ircClient.connect()
+  res.dispatcher.register(res.ircClient)
 
-  result.dbConnected = false
+  res.dbConnected = false
+  result = res
 
 var state = tircbot.open() # Connect to the website and the IRC server.