On Apr 7, 2018, at 2:58 PM, Reinder Feenstra <reinderfeenstra@gmail.com> wrote:
Hi All,
While implementing all meta methods in some glue code between Lua and
C++ I'd became curious why __bshr and __bshl both exist. For the
compare operators a smart trick is used so you don't need to implement
them all.
To make sure my glue code behaves the same as Lua I simply tried all
operators, e.g.
Lua 5.3.3 Copyright (C) 1994-2016 Lua.org, PUC-Rio
print(2 << -1)
1
print(2 >> 1)
1
This is legal in Lua, so why not only a __bshr meta method and call
this with a negative shift count for the << operator?