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 nedbat
Recipients Mark.Shannon, nedbat, scoder, vstinner
Date 2021-11-11.02:07:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1636596471.6.0.15317931187.issue40421@roundup.psfhosted.org>
In-reply-to
Content
I went ahead and changed the coverage.py code to this:

#if PY_VERSION_HEX >= 0x030B00A0
// 3.11 moved f_lasti into an internal structure. This is totally the wrong way
// to make this work, but it's all I've got until https://bugs.python.org/issue40421
// is resolved.
#include <internal/pycore_frame.h>
#define MyFrame_lasti(f)    ((f)->f_frame->f_lasti * 2)
#elif PY_VERSION_HEX >= 0x030A00A7
// The f_lasti field changed meaning in 3.10.0a7. It had been bytes, but
// now is instructions, so we need to adjust it to use it as a byte index.
#define MyFrame_lasti(f)    ((f)->f_lasti * 2)
#else
#define MyFrame_lasti(f)    ((f)->f_lasti)
#endif


If we had an API that let me distinguish between call and resume and between return and yield, I could get rid of this.
History
Date User Action Args
2021-11-11 02:07:51nedbatsetrecipients: + nedbat, scoder, vstinner, Mark.Shannon
2021-11-11 02:07:51nedbatsetmessageid: <1636596471.6.0.15317931187.issue40421@roundup.psfhosted.org>
2021-11-11 02:07:51nedbatlinkissue40421 messages
2021-11-11 02:07:51nedbatcreate