Проблема получения класса Luabind (утечка памяти)

Использование luabind 0.81

Простой тест для иллюстрации проблемы:

1)

class 'A'
function A:__init()
   print('A init\n')
end
function A:__finalize()
   print('A finalize\n')
end

do
   local obj = A()
end
collectgarbage("collect")

Вывод:
инициализация
финализация

2)

class 'A'
function A:__init()
   print('A init\n')
end
function A:__finalize()
   print('A finalize\n')
end

class 'B' (A)
function B:__init()
   A.__init(self)
   print('B init\n')
end
function B:__finalize()
   print('B finalize\n')
end

do
   local obj = B()
end
collectgarbage('collect')

Вывод:
Инициализация A
Инициализация B

Проблема: класс с родителем не удаляется при сборке мусора.

Как решить эту проблему? Спасибо.


person kFk    schedule 22.12.2009    source источник


Ответы (1)