LuaLanes与upvalues的奇怪行为

我有这样一段代码,在[LuaLanes][1]中执行的函数似乎忽略了设置一个 upvalue,所以我想知道这是否是正常的行为,或者我使用它的方式是错误的。

当在Lanes中运行时,断言失败,但是只运行main()时可以正常运行(预期)。

使用main()输出:

...

使用lanes.gen("*",main)()[1]输出:

...

为什么在设置了另一个表之后,get_variable()仍然返回相同的表?有什么想法吗?

PS:另外,可能相关的是,为什么在 lanes 中运行时 Common 会发生变化?它是否会完全复制到新的 lane Lua 状态中?

[1]: https://github.com/LuaLanes/lanes

点赞