Protoc-gen-lua嵌套message的一个问题!

message Sub{ required string name = 1}
message Main{ required int id = 1 repeated Sub subs = 2

    local req = Message_pb. Main()
    req. id = 123


    local info = req.cards:add()
    info.name = "aaa"


    local info2 = req.cards:add()
    info2.name = "bbb"


    req:SerializeToString()

报错:

LUA ERROR: :98: attempt to call upvalue ‘modify_value’ (a nil value)

这repeated 的 message 怎么玩啊…求指教

怎么搞成这格式了…重新说下

message Sub{
required string name = 1
}

message Main{
required int id = 1
repeated Sub subs = 2
}

local req = Message_pb.Main()
req id = 1

方法一:
local info = Message_pb.Sub()
info.name = “hi”
table.insert(req.subs, info)

方法二:
local info = req.subs:add()
info.name = “hi”

这两种方法都试了,都报错…
LUA ERROR: :98: attempt to call upvalue ‘modify_value’ (a nil value)

Sub和Main在同一个protoc文件里,顺序也是先Sub后Main

PS : protoc 是2.4.1

又试了下2.3.0,没区别,生成的lua都一样,问题也一样,哎~