table.remove not shifting keys when Lua file is in bytecode format

  • From: JS <js@xxxxxxxxx>
  • To: luajit@xxxxxxxxxxxxx
  • Date: Fri, 21 May 2021 12:52:09 +0300

Tested with both LuaJIT 2.0.5 (latest git) on ARM and LuaJIT 2.1.0-beta3 on x86.

Place all files in the same directory and run test.lua. Then convert
cc-znp.lua to bytecode (luajit -bg cc-znp.lua cc-znp.lua) and run
test.lua again.

Before bytecode:
pre-remove      nil     table: 0xb6e7ab38
post-remove     table: 0xb6e7ab38       nil

After bytecode:
pre-remove      nil     table: 0xb6f20200
post-remove     nil     table: 0xb6f20200

Attachment: cc-znp.lua
Description: Binary data

Attachment: codec.lua
Description: Binary data

Attachment: test.lua
Description: Binary data

Attachment: util.lua
Description: Binary data

Other related posts: