Dennis Sweeney <sweeney.dennis...@gmail.com> added the comment:

Bisected to here:


13bc13960cc83dbd1cb5701d9a59ac9b9144b205 is the first bad commit
commit 13bc13960cc83dbd1cb5701d9a59ac9b9144b205
Author: Mark Shannon <m...@hotpy.org>
Date:   Thu Jan 23 09:25:17 2020 +0000

    bpo-39320: Handle unpacking of *values in compiler (GH-17984)

    * Add three new bytecodes: LIST_TO_TUPLE, LIST_EXTEND, SET_UPDATE. Use them 
to implement star unpacking expressions.

    * Remove four bytecodes BUILD_LIST_UNPACK, BUILD_TUPLE_UNPACK, 
BUILD_SET_UNPACK and  BUILD_TUPLE_UNPACK_WITH_CALL opcodes as they are now 
unused.

    * Update magic number and dis.rst for new bytecodes.



In debug mode, the following code gives fails a C-level assertion:

d = {'metaclass': type}
for _ in [1]:
    class A(1, 2, 3, **d):
        pass

Assertion failed: b->b_startdepth < 0 || b->b_startdepth == depth, file 
compile.c, line 6959

----------
nosy: +Dennis Sweeney, Mark.Shannon
title: Incorrect bytecpde compilation for class -> `class A(1, 2, 3, **d): 
pass` gives bad bytecode
type: compile error -> crash
versions: +Python 3.10, Python 3.11, Python 3.9

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue46161>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to