the hash for objects such as tables and functions seems to be the memory address at which they are stored, this is indeed unique but due to alignment when it is reduced modulo 2^n (the size of the table) it may cause many collisions
does Lua do something to randomize the memory address or the hash derived from the memory address?
(it seems not but I have not downloaded the source code of lua5.3 and 5.4, I am still looking at the source of Lua 5.1)
A.