fixes memory leaks concerning closures

This commit is contained in:
Araq 2013-03-29 16:41:05 +01:00
commit 2f826b5305

View file

@ -346,11 +346,10 @@ proc canFormAcycleAux(marker: var TIntSet, typ: PType, startId: int): bool =
#if t.kind == tyObject and tfFinal notin t.flags: #if t.kind == tyObject and tfFinal notin t.flags:
# # damn inheritance may introduce cycles: # # damn inheritance may introduce cycles:
# result = true # result = true
of tyProc: result = typ.callConv == ccClosure
else: nil else: nil
proc canFormAcycle(typ: PType): bool = proc canFormAcycle(typ: PType): bool =
# XXX as I expect cycles introduced by closures are very rare, we pretend
# they can't happen here.
var marker = InitIntSet() var marker = InitIntSet()
result = canFormAcycleAux(marker, typ, typ.id) result = canFormAcycleAux(marker, typ, typ.id)