Bug#925674: First triage

Giovanni Mascellani gio at debian.org
Tue Jul 23 22:57:04 BST 2019


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.mascellani at gmail.com>
Postdoc researcher - Université Libre de Bruxelles

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-games-devel/attachments/20190723/e2a87906/attachment-0003.sig>


More information about the Pkg-games-devel mailing list