Lua __eq在具有不同元表的表上

I have found the following quote on this site http://lua-users.org/wiki/MetamethodsTutorial:

在两个表上使用==运算符,引用相等性检查失败并且两个表具有相同的__eq元方法(!)时,将调用__eq。

现在,我使用Lua 5.3.5对其进行了测试,而这根本不是我观察到的:

a = {}
b = {}
m = {}
m2 = {}
setmetatable(a, m)
setmetatable(b, m2)
m.__eq = function(p1, p2) print("why"); return true end
m2.__eq = function(p1, p2) print("why2"); return true end

这是我测试过的代码。

> a == b
why
true
> b == a
why2
true

看起来它与比较运算符具有相同的功能,在比较运算符中,它仅使用左表并使用其元方法。

是在最近的Lua版本中进行了此更改,还是我的测试出错了?

谢谢你的帮助。