Использование 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
Проблема: класс с родителем не удаляется при сборке мусора.
Как решить эту проблему? Спасибо.