homepage

This issue tracker has been migrated to GitHub , and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients alex, amaury.forgeotdarc, benrg, brian.curtin, eric.araujo, georg.brandl, ishimoto, jackdied, loewis, mrabarnett, ncoghlan, pitrou, r.david.murray, rhettinger, skrah, terry.reedy, tim.golden, vstinner
Date 2012年07月31日.00:08:56
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1343693337.69.0.470463379137.issue8847@psf.upfronthosting.co.za>
In-reply-to
Content
When Python is compiled by Visual Studio 10 in PGUpdate mode, duplicated functions are merged to become the same unique function. The C code of wrap_binaryfunc() and wrap_binaryfunc_l() functions is the same and so both functions get the same address.
For "class List(list): pass", type_new() fills type->tp_as_number->nb_add to list_concat() because "d->d_base->wrapper == p->wrapper" is True whereas it should be False (wrap_binaryfunc vs wrap_binaryfunc_l).
A workaround is to use a different code for wrap_binaryfunc() and wrap_binaryfunc_l(). A real fix is to use something else than the address of the wrapper to check the type of the operator (left, right, or the 3rd type).
History
Date User Action Args
2012年07月31日 00:08:57vstinnersetrecipients: + vstinner, loewis, georg.brandl, rhettinger, terry.reedy, ishimoto, amaury.forgeotdarc, ncoghlan, pitrou, jackdied, tim.golden, eric.araujo, mrabarnett, alex, r.david.murray, brian.curtin, skrah, benrg
2012年07月31日 00:08:57vstinnersetmessageid: <1343693337.69.0.470463379137.issue8847@psf.upfronthosting.co.za>
2012年07月31日 00:08:57vstinnerlinkissue8847 messages
2012年07月31日 00:08:56vstinnercreate

AltStyle によって変換されたページ (->オリジナル) /