Hi, the problem here is that operator== is called on an instance of std::map<>::iterator. The intention is probably to compare two iterators for inequality. But calling the operator overloading function is not the right thing, because the implementation of std::map<>::iterator might use the default iterator, and not overload it. Probably GCC 8 used an overloaded operator, but GCC 9 reverted to the default one. User code should not call the function "operator==", but use the "==" operator and let the compiler do its work.
I believe that the bug should be fixed by changing bool tolua_ret = (bool) self->operator==(*value); to bool tolua_ret = (bool) ((*self)==(*value); The problem is that that line of code is automatically generated by the "tolua" tool. I suppose that tolua should be fixed to generate correct code. I will look into that later, if I can. Greetings from Curitiba! Giovanni. -- Giovanni Mascellani <g.mascell...@gmail.com> Postdoc researcher - Université Libre de Bruxelles
signature.asc
Description: OpenPGP digital signature