This commit is contained in:
Araq 2015-09-13 23:26:44 +02:00
commit 14354b436f
5 changed files with 40 additions and 13 deletions

View file

@ -0,0 +1,17 @@
import tables
type
UUIDObject* = ref object
uuid: string
Registry*[T] = ref object
objects: Table[string, T]
proc newRegistry*[T](): Registry[T] =
result = Registry[T]()
result.objects = initTable[string, T](128)
proc register*[T](self: Registry[T], obj: T) =
self.objects[obj.uuid] = obj

View file

@ -0,0 +1,20 @@
discard """
output: "317"
"""
# bug #2599
import mbind_bracket
# also test that `[]` can be passed now as a first class construct:
template takeBracket(x, a, i: untyped) =
echo x(a, i)
var a: array[10, int]
a[8] = 317
takeBracket(`[]`, a, 8)
let reg = newRegistry[UUIDObject]()
reg.register(UUIDObject())

View file

@ -3,7 +3,7 @@ discard """
"""
type
TThreadFuncArgs[T] = object of TObject
TThreadFuncArgs[T] = object of RootObj
a: proc(): T {.thread.}
b: proc(val: T) {.thread.}