cocos2d-lua 3.16 class继承后调用了2次基类构造函数?

我的测试代码

local A = class("A")

function A:ctor()
    print("A:ctor()")
end

local B = class("B", function()
    return A.new()
end)

function B:ctor()
    print("B:ctor()")
end

B.new()

输出结果是
A:ctor()
A:ctor()

发现这个问题的起因是在移植以前quick3.3的游戏到最新引擎上,老代码里有这种写法,quick中正常,想问一下,是这种写法在新版被废弃了还是一个bug?

自定义类的 继承 应该是不需要用function 好像是

local A = class("A", function()
    return display.newNode()
end)

function A:ctor()
    print("A:ctor()")
end

local B = class("B", function()
    return A.new()
end)

function B:ctor()
    print("B:ctor()")
end

B.new()

这种A算不算自定义类?

不用function的话要手动调用基类构造函数,用function的话会自动调用基类构造,这种算不算偷懒,会不会有什么隐患?

@minggo 能不能给看看这个问题?

请问你解决了这个问题吗?我升级cocos版本,也出现了这个问题,老的class和项目是可以的,用新的,项目代码就不行